相关疑难解决方法(0)

如何使用MSTest进行RowTest?

我知道MSTest不支持RowTest和类似的测试.

什么是MSTests用户怎么办?如何在没有RowTest支持的情况下生活?

我已经看过DataDriven测试功能,但听起来有太大的开销,是否有任何第三方补丁或工具允许我进行RowTest类似的测试MSTest

unit-testing mstest data-driven-tests rowtest

42
推荐指数
3
解决办法
1万
查看次数

在ClassInitialize中生成的数据驱动测试:不再在Visual Studio 2012中工作

我已从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)

c# unit-testing mstest data-driven-tests visual-studio-2012

5
推荐指数
1
解决办法
3080
查看次数