BDD为几种方法命名

Sib*_*Guy 9 .net c# bdd

当您正在测试的类中有一个方法时,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)

老实说,这两种方法都有点不合适(可能只是因为我不习惯).推荐的方式是什么?

Abe*_*gan 0

由于测试用例彼此完全独立,因此您必须使用静态类来初始化稍后将用于测试的那些值、连接等。如果您想使用个人价值观和发起人,您必须在您的类中单独声明它们。我使用这个 nunit 框架。

顺便说一下,您使用的是 c#,请使用 .net 开发人员的命名约定...