[英]How to use XUnit with Visual studio to unit test code running in a remote process
我们正在为Solidworks CAD系统编写插件。 编写插件涉及编译DLL,注册它然后启动solidworks。 可以将dll中的代码配置为在solidworks启动后立即执行。
我想做的是制作一个特殊的DLL,以便它从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);
}
}
}
对于您的自定义进程,您需要编写一些钩子,因此请查看项目以获取有关如何执行此操作的详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.