我一直在努力清理项目单元和集成测试的命名和组织惯例。我们正在使用C#,NUnit,Visual Studio和Resharper。
似乎如果单元测试组织有一个最佳实践,那么测试类和命名空间的布局和命名应该与被测试代码的布局和命名相同。因此,文件结构也将被复制。
拥有一个可以自动强制执行并帮助重构代码以符合这些约定的工具不是很好吗?这样的工具是否存在?
例如,Resharper很容易识别OrderTest是Order类的测试夹具。然后,它可以确保Order类存在并且它位于同一名称空间中。如果Order类经历了重构并重命名,则还应重命名OrderTest类。
答案 0 :(得分:3)
我也经常想要那样。我查看了Resharper bug跟踪器并找到了此问题的增强请求。它计划在Resharper 5.0上使用。以下是其描述:http://www.jetbrains.net/jira/browse/RSRP-64050。
至于单元测试的命名和组织,标准正在发生很大变化,特别是对于一些弹出的bdd样式。 Here是关于该命名风格的好帖子。我认为最好让工具让团队适应并创建自己的标准。集体代码所有权,一段时间后应该只有一个标准。
答案 1 :(得分:0)
我们目前是Test01,Test02,Test03等......它就像是海盗裤子里的方向盘。
我更喜欢,并且正在转而使用这种命名方式:Behavior Driven Development: As Human As Possible
答案 2 :(得分:0)
实际上,ReSharper 4.5具有命名样式,如果您不遵循您设置的命名约定,它将发出警告。几天前我在博客上发表了这篇文章。
如果您有兴趣,请点击此链接: http://vkreynin.wordpress.com/2009/04/09/resharper-45-complains-about-my-private-fields/