未检测到一种测试方法

时间:2014-06-24 00:42:37

标签: c# visual-studio-2013

编辑:我没有说清楚一种方法依赖于另一种方法,因此我需要通用方法。为清楚起见改变了。

我正在尝试将测试方法添加到某些代码中,出于某种原因,Visual Studio 2013拒绝检测到一种方法。这是我的代码。

[TestClass]
public class TestClass
{
    ...
    [TestInitialize]
    public void Initialize()
    {
        ....
    }

    [TestMethod]
    public async Task Test1()
    {
        var accessToken = await GetAccessToken();
        ...
        Assert.IsNotNull(uploadResult);
        Assert.IsNotNull(uploadResult.AssetId);
    }
    [TestMethod]
    public void AmIReal()
    {
        Assert.IsNull(null);
    }

    [TestMethod]
    public async Task<String> GetAccessToken()
    {
        var authClient = new AuthClient();
        var authToken = await authClient.RequestAuthToken(ClientId, ClientSecret, Username, Password);

        Assert.IsNotNull(authToken);
        Assert.IsNotNull(authToken.AccessToken);

        return authToken.AccessToken;
    }

当我构建此测试项目时,会检测到Test1和AmIReal,而GetAccessToken则不会。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Task<TResult>继承自Task

您也应该可以从该方法返回Task,但我不确定为什么要从测试方法中返回任何内容。

答案 1 :(得分:0)

原来不会接受返回方法作为有效的VS测试方法。感谢大家的帮助。