Bla*_*asp 11 tdd bdd unit-testing naming-conventions
我目前使用一个简单的约定进行单元测试.如果我有一个名为"EmployeeReader"的类,我创建一个名为"EmployeeReader.Tests的测试类.然后我在测试类中为类创建所有测试,其名称如下:
等等.
我最近一直在阅读BDD中使用的不同类型的命名约定.我喜欢这个命名的可读性,最终得到一个类似的测试列表:
等等.
有没有人使用这两种命名方式?您能否提供任何建议,好处,缺点,陷阱等,以帮助我决定是否为我的下一个项目切换?
我一直在使用的命名约定是:
functionName_shouldDoThis_whenThisIsTheSituation
例如,这些将是堆栈的"pop"函数的一些测试名称
pop_shouldThrowEmptyStackException_whenTheStackIsEmpty
pop_shouldReturnTheObjectOnTheTopOfTheStack_whenThereIsAnObjectOnTheStack
您的第二个示例(为每个逻辑“任务”提供一个固定装置,而不是为每个类提供一个固定装置)的优点是您可以为每个任务使用不同的 SetUp 和 TearDown 逻辑,从而简化您的单独测试方法并使它们更具可读性。
您无需选择其中之一作为标准。我们混合使用两者,具体取决于我们必须为每个类测试多少个不同的“任务”。