当您正在测试的类中有一个方法时,BDD命名方法非常有效.假设我们有一个具有Connect方法的Connector类:
Should_change_status_to_Connected_if_Disconnected
Run Code Online (Sandbox Code Playgroud)
漂亮吧?但是当我在一个类中有几个方法时必须命名测试时我感到困惑(我们假设我们在我们的类中添加了Disconnect方法).
我看到两种可能的解决方案 第一个是添加一个方法名称的前缀,如:
Should_change_status_to_Connected_if_Disconnected_when_Connect_was_called
Run Code Online (Sandbox Code Playgroud)
另一种方法是为您正在测试的每个方法引入嵌套测试类.
public class ConnectorTests
{
public class ConnectTests
{
public void Should_change_status_to_Connected_if_Disconnected()
{
...
}
}
public class DisconnectTests
{
public void Should_change_status_to_Disconnected_if_Connected()
{
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
老实说,这两种方法都有点不合适(可能只是因为我不习惯).推荐的方式是什么?