所以我有一个如下测试:
[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()的目的是什么,如果它在上面的场景中不起作用?
我必须将Android Studio与适用于Windows的Docker一起使用,并且据我所知,目前在Windows上执行此操作的最佳(唯一?)选项是使用Windows Hypervisor Platform。问题在于,Android模拟器在此方面的运行速度太慢,几乎无法使用。启动Chrome需要花费几秒钟,打开一个简单的网站需要花费半分钟。我是Android开发的新手,所以我可能会缺少一些东西,但是我尝试了所有可以用Google搜索的内容:
在BIOS中启用了虚拟化,并且当然也启用了Windows Hypervisor Platform
我尝试了各种图像-API级别28和26,x86(甚至x86_64),带有或不带有Google Play。
这些都没有帮助,甚至没有给我带来任何明显的改善。难道我做错了什么?似乎Android Emulator无法在Windows Hypervisor平台上使用。
我的电脑规格:RAM 16GB,Intel i7 2.6 GHz
所以我在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"页面.
我有一个DevExpress'XtraGrid,它绑定到一组对象.我希望更改在更改时立即进入基础数据源.但默认的DevExpress行为是仅在用户离开单元格时才将新值放入数据源.因此,默认情况下,当用户在单元格中键入"Hello world"时,数据源将一次性接收整个句子.但我希望它能收到"H","他","Hel"等等.
我试图在CellValueChanging事件处理程序中调用PostEditor(),但它没有帮助.还有其他想法吗?
c# ×2
.net ×1
android ×1
asp.net-core ×1
asynchronous ×1
binding ×1
devexpress ×1
docker ×1
hyper-v ×1
iis ×1
json.net ×1
unit-testing ×1
windows ×1
winforms ×1
xtragrid ×1
xunit.net ×1