gpt4 book ai didi

c# - 仅在特定平台上排除单元测试

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:13 25 4
gpt4 key购买 nike

我的场景如下:我正在使用 Xamarin.Forms 开发跨平台移动应用程序。该解决方案的一部分是针对 iOS/Android/WP8 的单元测试项目,并且在每个平台上执行的测试都在一个共享库中。

测试是使用 xUnit.Net 框架编写的。

现在我有一些测试在所有移动平台上都能成功,但在 Windows 上却不行(即当我在开发期间从 VS 中运行它们时):

// in a PCL (which is referenced by platform-specific unit test projects)

[Fact]
public void SomeTest()
{
// succeeds on iOS, Android, and WinPhone
// fails on Windows (when executed from within Visual Studio)
}

我不想在开发期间每次都从每个移动平台运行每个测试 - 这会非常耗时。当然,我只会分块做。

结果是我有一堆在 VS 中失败的单元测试,我看不出它是“真正的”错误还是“仅”是特定于平台的问题。相反,我想立即看到问题出在哪里,而不是有许多我必须单独检查的红色测试。

有人知道怎么做吗?

最佳答案

能不能不用traits to achieve this

即添加一个特性,指定测试不应在 Windows 上运行,然后您可以使用您正在使用的任何测试运行器在 Visual Studio 中仅执行不具有此特性的测试。

关于c# - 仅在特定平台上排除单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com