我想创建一个测试项目并导入一个解决方案(解决方案A),这样我就无需在解决方案中添加一个测试项目。我想将测试项目与其他项目分开,因为我不希望SVN知道我已经创建了它。
当我测试一种通过实体框架从数据库查询数据的方法时。它将引发异常:
Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=*************'. The system cannot find the file specified.
但是我检查Dependencies-> SDK-> Microsoft.NETCore App(2.1),发现System.Configuration.dll。
我怎么了?我在堆栈溢出中搜索,然后尝试从解决方案A复制配置以测试项目。但这不起作用。
答案 0 :(得分:0)
我发现了两个原因:
=======================更新我的答案================
我放弃了使用mstest进行操作。
我找到了另一种方法,但似乎有点愚蠢。我直接在控制器中编写了测试方法。
首先,声明一个TestBean。
public TestBean(string name, string suppose, string fact, object msg = null)
{
this.name = name;
this.suppose = suppose;
this.fact = fact;
pass = suppose == fact;
if (SHOW_MSG)
this.msg = msg;
else
this.msg = null;
}
在控制器中像这样使用bean:
[HttpGet]
public string TestAll(){
JObject obj = (JObject)JsonConvert.DeserializeObject(TestMethod());
TestBean beans = new TestBean[]{
new TestBean('TestMethod',true+"",obj+"",obj)
};
return JsonConvert.SerializeObject(beans);
}
当我访问url localhost:... / TestAll时,我将得到json
[
{
"pass":true,
"name":"TestMethod",
"suppose":"True",
"fact":"True",
"msg":"True"
}
]
老实说,它不容易使用,尤其是当测试用例频繁更改时。