我有UWP项目。使用VS Community2017,我在解决方案中添加了一个单元测试(Add project-> -> unit test App ()),
我向我的项目添加了引用,添加了带有测试数据的.csv文件,添加了DataSource属性
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestProject1
{
[TestClass]
public class UnitTest1
{
private TestContext testContextInstance;
public TestContext TestContext
{
get { return testContextInstance; }
set { testContextInstance = value; }
}
[TestMethod()]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV",
@".\TestData.csv", "TestData#csv", DataAccessMethod.Sequential)]
public void ParameterizedTest()
{
int value = Convert.ToInt32(TestContext.DataRow["Row1"]); 但我还是不能用TestContext.DataRow
Error CS1061 'TestContext‘不包含'DataRow’的定义,也找不到接受'TestContext‘类型的第一个参数的可访问扩展方法'DataRow’(您是缺少使用指令还是程序集引用?)
我错过了什么吗?
发布于 2018-11-02 06:07:01
你在使用.NET核心吗?
适配器的.Net核心版本还不支持此处指定的DataSource
发布于 2022-06-15 12:30:35
我的剧本也和你的一样。只需将下面的代码行放在项目的.csproj文件中,您就应该很好:
<TargetFramework>net4.8</TargetFramework>以前我使用的是net5.0,但是当我开始使用4.8时,我能够解决这个问题。希望能帮上忙。干杯
如果你仍然无法得到它,请看看这个回购:https://github.com/manu1rock/RestSharpDemo
上面的回购会帮你的。
发布于 2018-09-09 16:08:12
只需使用testContextInstance.DataRow"Row1",并可选择在其末尾添加toString,类似于so testContextInstance.DataRow"Row1".ToString()
您犯了一个常见的错误,您试图使用TextContext.DataRow,其中TextContext是一个没有静态属性的类,名为DataRow,因此要使用它,需要创建一个已经称为testContextInstance.的类的实例。
还将属性名从TextContextInstance TextContent改为TextContent,如下所示
private TestContext testContextInstance;
public TestContext TestContextInstance
{
get { return testContextInstance; }
set { testContextInstance = value; }
}由于您永远不应该将属性命名为与其类型(类)完全相同的类型(类),所以现在进行此更改时,您甚至可以像以前尝试的那样直接使用该属性。
int value = Convert.ToInt32(TestContextInstance.DataRow["Row1"]); https://stackoverflow.com/questions/52245774
复制相似问题