我应该如何使用C#和NUnit对单元测试进行分组?

Jac*_*ope 4 c# nunit unit-testing

我有一个在C#中使用大量单元测试的类(使用NUnit 2.5.8),我想根据我正在测试的类功能区域将单元测试组合在一起(所以我可以快速选择哪个设置为在NUnit UI中运行).

我知道我可以将类重构为更小的组件,这可以解决问题,但有没有其他方法可以做到这一点,而无需完全重新设计生产代码?

jas*_*son 11

为什么不[TestFixture]为每个要测试的功能区域(单独的类)?

class ClassThatDoesTooMuch {
    // functionality related to opening a database connection
    // functionality related to file management
    // functionality related to solving world hunger
}

[TestFixture]
public class ClassThatDoesTooMuchDatabaseConnectionTests { // }

[TestFixture]
public class ClassThatDoesTooMuchFileManagementTests { // }

[TestFixture]
public class ClassThatDoesTooMuchWorldHungerSolutionTests { // }
Run Code Online (Sandbox Code Playgroud)

  • 此外,您还可以使用在每个测试夹具的`[类别("ClassThatDoesTooMuch")]`所以你仍然可以运行所有在同一时间有关`ClassThatDoesTooMuch`测试. (4认同)