Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 单元测试没有出现_Unit Testing_Visual Studio 2012_Windows Store Apps - Fatal编程技术网

Unit testing 单元测试没有出现

Unit testing 单元测试没有出现,unit-testing,visual-studio-2012,windows-store-apps,Unit Testing,Visual Studio 2012,Windows Store Apps,我正在Windows 8版本预览中使用Visual Studio Express 2012,但似乎无法使我的单元测试显示在测试资源管理器中 我有一个名为TestApp.Entity的类和TestApp.EntityTest 这是我的密码: namespace TestApp.Entity.Test { using System; using System.Net.Http; using Microsoft.VisualStudio.TestPlatform.UnitTes

我正在Windows 8版本预览中使用Visual Studio Express 2012,但似乎无法使我的单元测试显示在测试资源管理器中

我有一个名为TestApp.Entity的类和TestApp.EntityTest

这是我的密码:

namespace TestApp.Entity.Test
{
    using System;
    using System.Net.Http;
    using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;
    using TestApp.Domain;

    [TestClass]
    public class EntityTests
    {
        [TestMethod]
        public async void TestObject1Deserialize()
        {
            Uri agencyUri = new Uri("*removed*");
            HttpClient httpClient = new HttpClient();
            HttpResponseMessage response = await httpClient.GetAsync(agencyUri);

            string responseBodyAsText = await response.Content.ReadAsStringAsync();
            List<Agency> agencyList = Deserializers.AgencyDeserialize(responseBodyAsText);

            CollectionAssert.Contains(agencyList, new Agency() { Tag = "*removed*", Title = "*removed*", ShortTitle = "", RegionTitle = "*removed*" });
        }

    }
}
namespace TestApp.Entity.Test
{
使用制度;
使用System.Net.Http;
使用Microsoft.VisualStudio.TestPlatform.UnitTestFramework;
使用TestApp.Domain;
[测试类]
公共类实体测试
{
[测试方法]
公共异步void TestObject1Deserialize()
{
Uri agencyUri=新Uri(“*已删除*”);
HttpClient HttpClient=新HttpClient();
HttpResponseMessage response=等待httpClient.GetAsync(代理URI);
string responseBodyAsText=等待响应.Content.ReadAsStringAsync();
List agencyList=反序列化程序;
CollectionAssert.Contains(agencyList,new Agency(){Tag=“*removed*”,Title=“*removed*”,ShortTitle=“”,RegionTitle=“*removed*”});
}
}
}

我假设这就是我所需要做的,但是它们仍然没有出现在测试资源管理器中。任何建议都会很有帮助。

对应用程序(包括任何包含测试类和测试方法的项目)执行“全部重建”。它们应该很快出现在中。

如“您需要使单元测试
异步任务
而不是
异步无效
才能正常工作”


这解决了问题,测试也出现了。奇怪的是,我使用void时没有出现错误,但现在我知道了。谢谢大家!

我有Visual Studio 2012,但在测试资源管理器中看不到测试

因此,我安装了以下组件:


这解决了我的问题

Windows8RTM已经过时了。你需要让你的单元测试
async Task
而不是
async void
,这样它们才能正常工作。是的,问题是它们在重建后没有出现。为了解决这个问题,我不得不将async void改为async任务。这也为我解决了这个问题。这不是很直观地解决这个问题。为什么MS会使测试异步无效?这是否允许/假设其他测试框架,如NUnit?即使是这样,这对我来说仍然没有多大意义。在vs 2012中不起作用,伙计……无论是[Test]还是[TestCase]。[TestMethod]也不在那里。。。