我正在使用MSTest为现有应用程序设置UnitTest Suite。
该应用程序支持两个不同的数据库(SQLServer和MSAccess),因此我们希望每个单元测试都能在两个数据库上运行。
我已经通过以下类构造实现了此功能
namespace SQLServer {
[TestClass] public class SQLServer : TestCases { }
}
namespace MSAccess {
[TestClass] public class MSAccess : TestCases { }
}
public abstract partial class TestCases {
//Tests for Module1
[TestMethod] public void Module1_Test1() { }
}
public abstract partial class TestCases {
//Tests for Module2
[TestMethod] public void Module2_Test1() { }
}
这或多或少地像预期的那样工作,但是当然不是很好,因为所有TestMethod
必须在同一个类中。缺点还在于,不同模块的两个TestMethod
不能具有相同的名称,从而使方法的名称不必要地长。
但是,我的主要问题是我无法按模块将TestMethod
分组。我在Test Explorer中实现的分组是:
UnitTestProject (Project name)
UnitTestProject.SQLServer (Namespace name)
SQLServer (Class name)
Module1_Test1 (Function name)
Module2_Test1
UnitTestProject.MSAcccess
MSAccess
Module1_Test1
Module2_Test1
我真正想要的是:
UnitTestProject
SQLServer
Module1
Module1_Test1
Module2
Module2_Test1
MSAccess
Module1
Module1_Test1
Module2
Module2_Test1
有没有办法做到这一点?