要解决您的播放列表请求,请直接查看 MS 文章:http: //msdn.microsoft.com/en-us/library/hh270865.aspx Resharper 也有一个不错的测试播放列表工具。
这是一篇关于如何设置有序测试的文章,但您不能将此功能与 Express 一起使用,因为它需要 Visual Studio Ultimate、Visual Studio Premium、Visual Studio Test Professional。http://msdn.microsoft.com/en-us/library/ms182631.aspx
如果您需要订购它们,那么它们更有可能是集成测试。我假设您希望订购它们,以便您可以为测试准备数据或在测试后撕下数据。
如果是这种情况,有几种方法可以满足此要求。使用 MSTest 有 4 个属性,您可以在此处查看有关何时执行它们的更多详细信息http://blogs.msdn.com/b/nnaderi/archive/2007/02/17/explaining-execution-order.aspx。
我的另一个建议是有一个辅助类来执行您希望按顺序完成的任务(而不是测试),要明确的是,这个类不会是一个测试类,只是一个具有通用功能的普通类,可以从在您的测试中。
如果您需要测试来创建产品,以便另一个测试可以使用该产品并测试它是否可以添加到购物车中,那么我将创建一个“SetupProduct”方法来为您执行此操作,因为我相信您会测试各种需要产品的东西。这将阻止您拥有测试依赖项。
话虽如此,集成测试可以很好地验证端到端流程,但在可能和适用的情况下,模拟一些或所有依赖项(例如存储库)可能会更容易。我使用 Moq 框架,发现它很容易使用。
这段代码来自上面链接的博客文章,我把它放在这里以防链接失效。
这是一个使用 setup / tear down 属性来帮助您进行测试的测试类示例。
[TestClass]
public class VSTSClass1
{
private TestContext testContextInstance;
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
[ClassInitialize]
public static void ClassSetup(TestContext a)
{
Console.WriteLine("Class Setup");
}
[TestInitialize]
public void TestInit()
{
Console.WriteLine("Test Init");
}
[TestMethod]
public void Test1()
{
Console.WriteLine("Test1");
}
[TestMethod]
public void Test2()
{
Console.WriteLine("Test2");
}
[TestMethod]
public void Test3()
{
Console.WriteLine("Test3");
}
[TestCleanup]
public void TestCleanUp()
{
Console.WriteLine("TestCleanUp");
}
[ClassCleanup]
public static void ClassCleanUp()
{
Console.WriteLine("ClassCleanUp");
}
}
这是触发方法的顺序。
Class Setup
Test Init
Test1
TestCleanUp
Test Init
Test2
TestCleanUp
Test Init
Test3
TestCleanUp
ClassCleanUp
如果您提供有关您要完成的工作的更多信息,我很乐意帮助您了解何时使用哪个属性或何时使用帮助类,请注意帮助类不是测试类,只是一个标准类,它具有您的方法可以用来执行多个测试可能需要的常见任务。