我目前对单元测试使用一个简单的约定。如果我有一个名为“EmployeeReader”的类,我将创建一个名为“EmployeeReader.Tests”的测试类。然后,我在测试类中为该类创建所有测试,名称如下:
- Reading_Valid_Employee_Data_Correctly_Generates_Employee_Object
- Reading_Missing_Employee_Data_Throws_Invalid_Employee_ID_Exception
等等。
我最近读到一篇关于不同类型的命名约定 http://elegantcode.com/2008/05/01/thanks-to-bdd/用于BDD。我喜欢这个命名的可读性,最终得到一个测试列表,如下所示:
- When_Reading_Valid_Employee (fixture)
- Employee_Object_Is_Generate(方法)
- Employee_Has_Correct_ID(方法)
- When_Reading_Missing_Employee (fixture)
- An_Invalid_Employee_ID_Exception_Is_Thrown(方法)
等等。
有人使用过这两种命名方式吗?您能否提供任何建议、优点、缺点、陷阱等,以帮助我决定是否切换到下一个项目?
我一直使用的命名约定是:
functionName_shouldDoThis_whenThisIsTheSituation
例如,这些将是堆栈的“pop”函数的一些测试名称
pop_shouldThrowEmptyStackException_whenTheStackIsEmpty
pop_shouldReturnTheObjectOnTheTopOfTheStack_whenThereIsAnObjectOnTheStack
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)