我正在使用vs17,每当我运行任何测试时,我都会得到这个
[4/5/2018 12:10:19 PM信息] ------运行测试开始------ [4/5/2018 12:10:19 PM警告] [MSTest] [发现] [C:*路径* \ bin \ Debug \ FeatureFlags.API.Tests.dll]给定的程序集名称或代码库无效。 (HRESULT异常:0x80131047) [4/5/2018 12:10:19 PM警告] C:* path * \ bin \ Debug \ FeatureFlags.API.Tests.dll中没有可用的测试。确保测试发现者&执行人员已注册,平台和框架版本设置是适当的,然后再试一次。 [4/5/2018 12:10:19 PM信息] ==========运行测试完成:0运行(0:00:00.7650001)==========
我觉得有必要确保我已经在很多其他问题和其他网站中搜索过这个问题而非解决方案解决了我的问题,其中大多数都是非常古老的问题,或者更新2之前的vs15解决问题或在框架4.6之前,我目前正在使用框架4.7。我无法降级我的框架版本。
我添加了一个.runsettings文件,使用调试“它永远不会遇到断点甚至开始运行任何东西”,我更改了默认处理器架构,并且我已禁用“仅启用我的代码”,没有这对我有用。我很多次重建了解决方案,甚至关闭了visual studio并重新启动了我的电脑。
在调试模式下,我可以在输出窗口中看到
“无法找到或打开PDB文件”
对于不同的文件很多次。
我的错误是什么以及如何解决这个问题?
编辑1 这是我的测试用例的一个例子
[TestClass]
public class VezeetaFeatureFlagsTests
{
private readonly FeatureFlagController _controller;
public VezeetaFeatureFlagsTests()
{
MockHttpContext();
_controller = new FeatureFlagController(new FeatureFlagCore(new FeatureFlagDAL(new RedisClient("FeatureFlags.RedisConnectionString"))));
}
private void MockHttpContext()
{
HttpContext.Current = new HttpContext(
new HttpRequest("", "http://localhost:2812/", ""),
new HttpResponse(new StringWriter())
);
Path.Combine(@"*Path*", "");
}
[TestMethod]
public void Valid_AddKey()
{
List<AddTagsAndFeaturesModel> addTagsAndFeaturesModels = new List<AddTagsAndFeaturesModel>
{
new AddTagsAndFeaturesModel()
{
Key = "test",
Values = new List<object>()
{
"Feature 1",
"Feature 2"
},
IsHide = false,
IsTags = false
}
};
var result = _controller.AddFeaturesOrTags(addTagsAndFeaturesModels);
Assert.AreEqual(result.StatusCode, HttpStatusCode.OK);
}
} 我可以在测试资源管理器中看到它。