c# - 如何在 MSTest DataRow 中将属性作为参数传递

标签 c# unit-testing mstest

我在使用 MSTest 的单元测试中有一个 DataTestMethod,并且在我的构造函数中有一个字符串属性,假设我有以下代码:

[DataTestMethod]
[DataRow("test")] 
[DataRow(stringproperty)] // How is this?

public void TestMethod(string test) {
    Assert.AreEqual("test", test);
}

是否可以在 DataRow 中将属性作为参数传递?

谢谢。

最佳答案

是的,如果你使用 DynamicDataAttribute

[DynamicData("TestMethodInput")]
[DataTestMethod]
public void TestMethod(string test)
{
    Assert.AreEqual("test", test);
}

public static IEnumerable<object[]> TestMethodInput
{
    get
    {
        return new[]
        {
            new object[] { stringproperty },
            new object[] { "test" }
        };
    }
}

关于c# - 如何在 MSTest DataRow 中将属性作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47298140/

相关文章:

c# - 是否可以使用反射从通用实体访问属性(按名称)?

javascript - 如何在测试时正确模拟 useSelector Hook 以返回正确的值?

java - 另一个类的 Mockito 对象方法

Python 工作服未测试 "if name == __main__"

teamcity - 当未找到测试时,MSTest 结果成功

visual-studio-2008 - 类型 '<typename>' 的值无法转换为 <typename>

c# - 上传时网络客户端超时

c# - 是否可以在运行时扩展 IServiceProvider

c# - 如何解决 "' UnityEngine.Random' does not contain a definition for 'Next' ...”错误?

c# - 根据实时值进行或退出单元测试的正确方法