gpt4 book ai didi

c# - 如何在 Visual Studio 中使用 XUnit 对在远程进程中运行的代码进行单元测试

转载 作者:行者123 更新时间:2023-11-30 15:22:04 24 4
gpt4 key购买 nike

我们正在为 Solidworks 编写插件CAD系统。编写插件涉及编译 DLL、注册它然后启动 solidworks。 dll 中的代码可以配置为在 solidworks 启动时立即执行。

我想做的是制作一个特殊的 DLL,以便它从 visual studio 运行一系列单元测试或单个单元测试,并以标准方式将结果报告回 visual studio。

我们很乐意使用标准的 visual studio 测试或 resharper 测试系统。

是否可以编写单元测试系统的扩展来实现这一点。如果是这样,这有多难实现。也许有些扩展已经为其他需要测试的插件类型环境做了类似的事情。

最佳答案

我们为 XUnit 写了一个插件来解决这个问题

https://github.com/Weingartner/XUnitRemote

使用上述方法的特定解决方案用于对 solidworks 进行单元测试

https://github.com/Weingartner/SolidworksAddinFramework

带有示例自定义事实的示例测试

namespace XUnitRemote.Test
{
public class Tests
{
private readonly ITestOutputHelper _Output;

public Tests(ITestOutputHelper output)
{
_Output = output;
}

[SampleProcessFact]
public void OutOfProcess()
{
_Output.WriteLine("Process name: " + Process.GetCurrentProcess().ProcessName);
Assert.Equal(5, 3);
}

[Fact]
public void InProcess()
{
_Output.WriteLine("Process name: " + Process.GetCurrentProcess().ProcessName);
Assert.Equal(5, 3);
}
}
}

对于您的自定义流程,您需要编写一些 Hook ,因此请查看项目以获取有关如何执行此操作的详细信息。

关于c# - 如何在 Visual Studio 中使用 XUnit 对在远程进程中运行的代码进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36325289/

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