c# - 单元测试顺序约定?

标签 c# asp.net-mvc unit-testing nunit conventions

<分区>

我正在使用 NUnit 在 C# 中为 ASP.NET MVC 应用程序创建单元测试。

简短版本:我应该按字母顺序还是按属于被测试类的方法的顺序对我的测试方法进行排序?

例如:假设我要测试类(class):

public class MyClass{
     public void B(){}
     public void A(){}
     public void C(){}
}

像这样构建我的测试类是否更合适...

[TestFixture]
public class MyClassTests{
         [Test]public void Test_B(){}
         [Test]public void Test_A(){}
         [Test]public void Test_C(){}
    }

或者像这样...

[TestFixture]
public class MyClassTests{
         [Test]public void Test_A(){}
         [Test]public void Test_B(){}
         [Test]public void Test_C(){}
    }

我知道一个简单的问题,但我无法从我的谷歌搜索中找到任何约定,只有很多命名测试方法的约定。感谢您的帮助!

最佳答案

我会用第一种方法。

我还会从您的测试名称中删除 Test_,因为它是多余的命名。

我见过的命名测试的最佳命名约定是:

MethodName_ContextOfTest_ResultOfTest

例子:

A_WithNullString_ThrowsException

使编写测试特定内容的测试变得非常容易,并使其他人也更容易理解您正在测试的内容。

关于c# - 单元测试顺序约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39834059/

相关文章:

c# - 从 SqlDataReader 异步读取每个字段有什么好处吗?

C# ASP.Net Parameters.AddWithValue 拒绝参数的空值

c# - 需要以 C# 字符串数据类型 "as is"获取 Oracle RAW

c# - 运行存储过程后刷新存储库

javascript - 将 serialize() 转换为对象数组以发布到 Controller

javascript - Angular : How to spy on $element. 开启

c# - 接口(interface)使用说明(C#视角)

asp.net-mvc - 在 ASP.net MVC 中的控制操作中返回序列化的 AMF 对象

node.js - Istanbul 尔和 Mocha 的报道报告

unit-testing - 从 2.2.4 升级到 Grails 2.4.3 后,在单元测试期间,元类更改不会在测试之间重置