【为什么在NUnit Android Test Runner中Asserts等于0(零)()】逆水行舟用力撑,一篙松劲退千寻。这篇文章主要讲述为什么在NUnit Android Test Runner中Asserts等于0(零)?相关的知识,希望能为你提供帮助。
正如标题中所提到的,为什么在我的NUnit android Test Runner中显示Asserts: 0
,尽管在相应的测试方法中有两个Assert
s被调用?只是好奇我是否以错误的方式做断言,或者显示的信息可能与我的想法完全不同。
文章图片
测试方法如下所示。两条
Assert
线的断点按预期击中。[Test]
public async Task TestDeleteHistoryShouldEmptyTable()
{
var newBookmark = new Bookmark
{
Id = "foo",
Page = 100,
CreatedBy = "john doe",
CreatedDate = DateTime.Now
};
await _mainVM.Repo.SaveAsync(newBookmark);
var historyBefore = await _mainVM.Repo.GetLatestBookmarksAsync(Helpers.HistorySize);
Assert.True(historyBefore.Any());
await _mainVM.Repo.ClearTable("Bookmark");
var historyAfter = await _mainVM.Repo.GetLatestBookmarksAsync(Helpers.HistorySize);
Assert.True(!historyAfter.Any());
}
更新:
使用以下测试方法也可以重现该问题:
[Test]
public async Task TestAsyncCounter()
{
await FakeAsyncMethod();
Assert.True(true);
}public async Task FakeAsyncMethod()
{
await Task.Delay(1000);
}
答案这被证明是一个框架错误,由@CharliePoole证实,issue tracker是他们的
await Task.Delay(1)
中的NUnit维护者之一:“好吧,我必须收回最后一条评论。当等待的方法不包含await本身并因此同步处理时,它正常工作。当我在等待的方法中包含https://github.com/nunit/nunit/issues/1499时,我看到奇怪的结果。所以有绝对是一个框架错误,它甚至可以在.NET 4.5中看到。“我们暂时等待问题跟踪器中的更新。
更新的问题跟踪链接:qazxswpoi
推荐阅读
- 在xamarin.android中的absoluteLayout中定位到右下角
- 在Xamarin Android项目中的android Assets中添加文件夹会引发Build Error
- 无法在Android上使用C ++ OpenCV打开相机
- Xamarin Android - 如何在textview动画期间阻止文本移动
- 如何为Android转换器中的MvxColor指定Hex或RGB颜色
- 没有声明Xamarin.Android Button Border
- Xamarin.Android WebView App性能问题
- 如何从xamarin表单应用程序中的PCL项目访问android原生布局文件()
- 在Xamarin.Android中将Keycode转换为char