【发布时间】:2008-09-26 08:52:32
【问题描述】:
当我不确定某个项目的某些内容时,我通常会使用一个单独的小型项目,并将其作为需要测试的东西的游乐场。你是怎么做到的?
【问题讨论】:
标签: testing
当我不确定某个项目的某些内容时,我通常会使用一个单独的小型项目,并将其作为需要测试的东西的游乐场。你是怎么做到的?
【问题讨论】:
标签: testing
这取决于我想尝试什么。对于简单的算法内容,我有一个控制台应用程序,它由许多类组成,一个用于我想尝试的每一件事。这样,我将所有内容都包含在一个项目中,并且可以浏览我多年来尝试过的想法和方法。当我为一个问题尝试不同的解决方案时,我将文件夹用于新主题,并为类名添加索引(或类似的东西,通过查看类名可以很容易地看到实现中的差异)。
我对类所做的唯一维护是过滤掉(不再)不能编译的东西,但是错误的方法只会在相应的类文件中被大量的 cmets 标记。对我来说,这也是了解我的技能如何随着时间的推移而提高的好方法……而且查看旧代码也很有趣。
对于 GUI 相关的东西以及 ASP.net 应用程序,我有类似的方法,所以我总共有三个测试项目,都按照上述方式组织。
【讨论】:
我使用了我在 Ron Jeffries 的“C# 中的 TDD 冒险”中第一次看到的“尖峰测试”想法。 Spike 测试被编码为单元测试类,使用您想要尝试的代码块而不是测试方法。 这样,您可以通过在测试运行器中运行来轻松尝试一些您不喜欢的代码。
我通常将尖峰测试与单元测试放在同一个项目中。进入存储库后,尖峰测试代码可以帮助其他开发人员了解您在生产代码中的决策。
【讨论】:
我也是这样做的。临时项目有一些缺点......一旦你想测试其他东西,你就必须设置一个新项目。我还发现游乐场是很好的参考。我经常记得我以前尝试过一些东西,然后我可以查看旧的 Playground 文件,甚至更改它以适应新的需求。
【讨论】:
我不会将整个子项目用作游乐场 - 我通常会制作一个简单的测试用例,如果它按预期工作,我会将代码合并到我的项目中。在作为程序员的那段时间里,有很多这样的文本案例,我总是保留它们。有这些例子很好 - 所以每当我想到某事时,我总是先看看我的测试用例。
【讨论】:
有时我会使用一个简单的控制台应用来测试。
其他时候,我克隆(或分支)主项目并在副本中尝试。通常,一旦我完成尝试,克隆会被复制回(或合并到)原始版本。
还有一些时候,我会确保将主项目签入到源代码管理中,然后在那里进行尝试。如果我不喜欢事情的进展,我会回滚更改。
【讨论】: