我正在测试各种服务器,它们具有相同的型号,已经通过单元测试进行了测试。 现在我想测试真实的服务器(不仅仅是通用型号)。
在测试一般模型时,我创建了带有假适配器的虚假通用服务器,它们在基础测试类中定义,所有测试类都继承自它。这使得超过100次测试。
现在我需要使用相同的测试类,但需要使用各种基类(适用于各种真实服务器)。他们使用相同的测试数据并获得相同的结果。他们在一些内部方法上有所不同。
是否有可能以服务器数量的多次调用所有测试,每次使用不同的基本测试类(服务器类型和构造函数)?
示例:
[TestClass]
public class GeneralServerTests : BaseServer
{
[TestMethod]
public void IsAlive_ChecksInteraction_ReturnsTrue()
{
Assert.IsTrue(GeneralServer.Adapter.IsAlive());
}
...
}
基础测试类
[TestClass]
public abstract class BaseServer
{
protected Server GeneralServer;
[TestInitialize]
public void Setup()
{
//here I assign the Server constructor,
}
}
所以我需要使用不同的服务器调用GeneralServerTests类。
希望你明白我的意思:)。
任何解决方案?
答案 0 :(得分:0)
如果您使用&#34来解释继承,那么"概念,阅读句子:" GeneralServerTests IS 一个BaseServer",那似乎没有多大意义。所以我认为你的测试继承模型可能需要一些审查和重构。
现在,关于针对不同输入运行相同的测试,您应该进行数据驱动的测试:
http://msdn.microsoft.com/en-us/library/ms182527.aspx
您可以使用数据源指定有关目标服务器的信息,并配置测试代码。
答案 1 :(得分:0)
好的,我用
解决了[DataSource(“Microsoft.VisualStudio.TestTools.DataSource.CSV”,| DataDirectory | \ ArchiveTestingData.csv“,”ArchiveTestingData#csv“,DataAccessMethod.Sequential)]
其中写有关于适配器的所有必要信息。
现在,所有测试的运行次数与文件中的适配器数一样多。