7

我在 Windows 8 Release Preview 上使用 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*" });
        }

    }
}

我认为这就是我需要做的所有事情,但它们仍然没有出现在测试资源管理器中。任何意见将是有益的。

4

3 回答 3

5

根据Stephen Cleary的说法,“您需要进行单元测试async Task,而不是async void让它们正常工作”。

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

于 2012-09-27T14:44:30.690 回答
2

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

所以我安装了以下内容:NUnit Test Adapter

这为我解决了这个问题!

于 2014-04-23T12:25:02.890 回答
1

对应用程序进行全部重建,包括任何包含测试类和测试方法的项目。它们应该很快就会出现在测试资源管理器中。

于 2012-09-27T05:19:27.257 回答