相关疑难解决方法(0)

async/await - 何时返回Task vs void?

在什么情况下会想要使用

public async Task AsyncMethod(int num)
Run Code Online (Sandbox Code Playgroud)

代替

public async void AsyncMethod(int num)
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一情况是,您是否需要能够跟踪其进度的任务.

此外,在以下方法中,async和await关键字是否不必要?

public static async void AsyncMethod2(int num)
{
    await Task.Factory.StartNew(() => Thread.Sleep(num));
}
Run Code Online (Sandbox Code Playgroud)

c# asynchronous .net-4.5

457
推荐指数
5
解决办法
28万
查看次数

为什么visual studio 2012找不到我的测试?

我有一些使用内置的测试Microsoft.VisualStudio.TestTools.UnitTesting,但无法让它们运行.

我正在使用visual studio 2012 ultimate.

我有两个项目的解决方案; 在测试方法和引用(版本10.0.0.0,运行时版本v2.0.50727)之前using Microsoft.VisualStudio.TestTools.UnitTesting,有一个测试,[TestClass]在类 [TestMethod]之前Microsoft.VisualStudio.QualityTools.UnitTestFramework.我试过dot-net framework 3.5,4和4.5其他人给出了重新定位错误.

我试图构建解决方案和项目.测试资源管理器的消息是"构建您的解决方案以发现所有可用的测试".单击"全部运行"以构建,发现和运行解决方案中的所有测试.

所以问题是:如何让visual studio找到测试?


也尝试过这样做:http://msdn.microsoft.com/en-US/library/ms379625%28v=VS.80%29.aspx但没有成功:当我被问到时,我陷入了开始部分的困境右键单击并选择create tests.没有create tests.


我有这个测试(它编译,但不会出现在测试资源管理器中):

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace tests {
    [TestClass]
    public class SimpleTest {
        [TestMethod]
        public void Test() {
            Assert.AreEqual("a","a", "same");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我现在已经发现(见下面删除的答案),因为它位于共享驱动器上,但我还不知道如何绕过它.(关于安全设置的事情可能).

.net c# unit-testing visual-studio

220
推荐指数
12
解决办法
12万
查看次数

C# 异步任务 - 单元测试

我是 C# 单元测试的新手,必须测试该方法是否正常工作。

这是我到目前为止所拥有的:

  public async Task<IHttpActionResult> Post(API_FIRM_LINK aPI_FIRM_LINK)
    {
        db.API_FIRM_LINK.Add(aPI_FIRM_LINK);
        await db.SaveChangesAsync();

        return Created(aPI_FIRM_LINK);
    }
Run Code Online (Sandbox Code Playgroud)

测试方法:不确定我是否走在正确的道路上 如果有人可以根据我的测试提供示例

     public async Task PostTest()

    {
        ////Arrange
        API_FIRM_LINKController controller = new API_FIRM_LINKController();

        API_FIRM_LINK aPI_FIRM_LINK = null;

        IHttpActionResult expectedResult = await controller.Post(aPI_FIRM_LINK);
        //act

        IHttpActionResult result = await controller.Post(API_FIRM_LINK, aPI_FIRM_LINK);


        ////Assert
        IComparer<IHttpActionResult> comparer = new IHttpActionResultComparer();
       // Assert.IsTrue(comparer.Equals(expectedResult, result));

        Assert.IsNotNull(result);
        Console.Write(result);
Run Code Online (Sandbox Code Playgroud)

c# unit-testing async-await

3
推荐指数
2
解决办法
7057
查看次数