我知道MSTest不支持RowTest和类似的测试.
什么是MSTests用户怎么办?如何在没有RowTest支持的情况下生活?
我已经看过DataDriven测试功能,但听起来有太大的开销,是否有任何第三方补丁或工具允许我进行RowTest类似的测试MSTest?
我已从Visual Studio 2010升级到Visual Studio 2012.
在我的单元测试项目中,我有一个[ClassInitialize]方法生成一个CSV文件,然后使用连接到CSV的[DataSource]将其输入数据驱动的[TestMethod].
这在Visual Studio 2010中非常有用.
我无法在Visual Studio 2012中使用它.
似乎在VS2012中,MS测试运行器需要连接到[DataSource]的文件已经存在,否则将不会运行任何测试.如果我自己创建CSV,则会运行数据驱动的测试,但它们不会获取[ClassInitialize]中创建的数据:似乎在[ClassInitialize]运行之前评估来自[DataSource]的测试列表.
有解决方法吗?
这是一个可以重现问题的最小项目.对我来说,这在VS2010中取得了成功,但在VS2012中失败了.
TestProject.cs
using System.Diagnostics;
using System.IO;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace TestProject
{
[TestClass]
public class DataDrivenUnitTest
{
private static bool _classInitializeCalled;
private static int _testCount;
public TestContext TestContext { get; set; }
[ClassInitialize]
public static void ClassInitialize(TestContext testContext)
{
// Generate the csv list of tests
//TestContext = testContext;
_classInitializeCalled = true;
string testDirectory;
testDirectory = testContext.DeploymentDirectory;
using (var f = new StreamWriter(testDirectory + @"\" + "TestList.csv")) …Run Code Online (Sandbox Code Playgroud)