我想优化我的单元测试组件。具体来说,我想确保多个开发人员可以同时工作而不会踩到彼此的脚趾。创建单元测试时的最佳做法是什么?每个真实课程一个单元测试课程,单元测试由关注而不是课程分解,所有课程的一个大单元测试课程(我怀疑)等等。
答案 0 :(得分:2)
我喜欢java中类约定的一个测试类。这可以确保您始终知道在哪里找到测试,并且测试单元足够小,可以让很多人使用它们而不需要太多合并,因为它们都在一个文件中。
如果你有一个相当大的测试套件并且你正在密切关注这一个类,它还使你能够只运行一个类的测试。
答案 1 :(得分:1)
有树可能的方法来组织单元测试:
通常需要保留多个自动化测试程序集:
答案 2 :(得分:0)
我认为最好的方法是区分行为。每个测试类的一种行为。这意味着每个类的几个测试类。可以找到与示例相关的问题here。
答案 3 :(得分:0)
我倾向于采用的方法是单元测试的上下文规范风格,将单元测试分解为行为分组;例如,如果我正在为一个名为作业状态页面的网站开发一个新的ASP.NET网页,我将有一个这样的目录结构:
unit-tests -> spec_for_job_status_page
其中spec_for_job_status_page是包含解决方案文件,csproj文件和相关类的文件夹。
就单元测试类的结构而言,我喜欢使用遵循上下文规范样式的命名约定,例如:
namespace spec_for_job_status_page
{
[TestFixture]
public class when_the_job_status_page_is_loaded
{
[SetUp]
public void context()
{
//write set-up code here for your test
}
[Test]
public void should_show_the_job_number()
{
//write the assertion code here. Should be a single line
}
}
}