小编Dmi*_*try的帖子

xunit Assert.ThrowsAsync()不能正常工作?

所以我有一个如下测试:

    [Fact]
    public void Test1()
    {
        Assert.ThrowsAsync<ArgumentNullException>(() => MethodThatThrows());
    }

    private async Task MethodThatThrows()
    {
        await Task.Delay(100);
        throw new NotImplementedException();
    }
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,Test1成功通过.为了让它失败,我必须这样写:

Assert.Throws<ArgumentNullException>(() => MethodThatThrows().Wait());
Run Code Online (Sandbox Code Playgroud)

ThrowsAsync()的目的是什么,如果它在上面的场景中不起作用?

.net unit-testing asynchronous xunit.net

35
推荐指数
2
解决办法
1万
查看次数

Windows Hypervisor平台上的Android模拟器太慢

我必须将Android Studio与适用于Windows的Docker一起使用,并且据我所知,目前在Windows上执行此操作的最佳(唯一?)选项是使用Windows Hypervisor Platform。问题在于,Android模拟器在此方面的运行速度太慢,几乎无法使用。启动Chrome需要花费几秒钟,打开一个简单的网站需要花费半分钟。我是Android开发的新手,所以我可能会缺少一些东西,但是我尝试了所有可以用Google搜索的内容:

  • 在BIOS中启用了虚拟化,并且当然也启用了Windows Hypervisor Platform

  • 我尝试了各种图像-API级别28和26,x86(甚至x86_64),带有或不带有Google Play。

  • 我尝试增加图像的RAM和堆大小(分别为4096MB和1024MB)。
  • 在图像选项中选择硬件加速。

这些都没有帮助,甚至没有给我带来任何明显的改善。难道我做错了什么?似乎Android Emulator无法在Windows Hypervisor平台上使用。

我的电脑规格:RAM 16GB,Intel i7 2.6 GHz

windows android hyper-v android-emulator docker

6
推荐指数
0
解决办法
351
查看次数

处理ASP.NET 5中的JSON循环引用异常

所以我在ASP.NET 5中使用Web API.在某些时候我的应用程序停止工作,只显示"Bad Gateway"IIS错误页面(我在IIS Express中运行它,由F5).我花了一段时间来弄清问题是什么 - 我在我的Web API方法返回的类中引入了一个循环引用,如下所示:

public class CircularParent
{
    public CircularChild Data;

    public CircularParent()
    {
        Data = new CircularChild(this);
    }
}

public class CircularChild
{
    public CircularParent Owner { get; set; }

    public CircularChild(CircularParent owner)
    {
        Owner = owner;
    }
}
Run Code Online (Sandbox Code Playgroud)

结果是JsonSerializationException.我的问题不是如何解决它,而是如何在将来处理这种情况.我怎么处理这样的例外?或者至少如何记录它或只是看到它记录在某个地方?UseDeveloperExceptionPage()没有帮助.UseExceptionHandler(errorApp => errorApp.Run(...))也没有帮助,执行没有进入errorApp.Run().调试器不会在异常处中断.我得到的所有IIS都是相当无法提供信息的"Bad Gateway"页面.

c# iis json.net asp.net-core

4
推荐指数
1
解决办法
4248
查看次数

如何在更改时强制网格立即将值传播到数据源?

我有一个DevExpress'XtraGrid,它绑定到一组对象.我希望更改在更改时立即进入基础数据源.但默认的DevExpress行为是仅在用户离开单元格时才将新值放入数据源.因此,默认情况下,当用户在单元格中键入"Hello world"时,数据源将一次性接收整个句子.但我希望它能收到"H","他","Hel"等等.

我试图在CellValueChanging事件处理程序中调用PostEditor(),但它没有帮助.还有其他想法吗?

c# binding devexpress xtragrid winforms

3
推荐指数
1
解决办法
1万
查看次数