C# Revit API代码单元测试
是否可以为我自己的Revit API代码创建单元测试,该代码可以在不运行Revit的情况下与Revit DB模型交互C# Revit API代码单元测试,c#,revit,revit-api,C#,Revit,Revit Api,是否可以为我自己的Revit API代码创建单元测试,该代码可以在不运行Revit的情况下与Revit DB模型交互 如果是这样的话,这是如何实现的。您可以将API代码抽象到一个接口中,然后在一组模拟对象上实现它以用于测试: 我不确定您是否找到了比此处描述的更多有关Revit单元测试的信息 这里呢 或者,您可能会找到自己的方法来使用Revit API进行单元测试。我已经介绍了上面提到的一些线程。 我甚至参与过一个项目,该项目有一个非常完善的Revit单元测试框架(遗憾的是,我无法共享) 但以下
如果是这样的话,这是如何实现的。您可以将API代码抽象到一个接口中,然后在一组模拟对象上实现它以用于测试:
我不确定您是否找到了比此处描述的更多有关Revit单元测试的信息 这里呢
或者,您可能会找到自己的方法来使用Revit API进行单元测试。我已经介绍了上面提到的一些线程。 我甚至参与过一个项目,该项目有一个非常完善的Revit单元测试框架(遗憾的是,我无法共享) 但以下是我可以告诉你的方法: 您需要为执行测试构建自己的基本框架。 它作为Revit内部的外接程序运行(必须启动Revit,选择外接程序,然后选择要运行的测试线束部件)。 在那之后,它很像xUnit、MSTest等。 我认为我们有一些额外的测试属性,它们甚至将每个测试指向一个特定的测试模型 整个过程中的麻烦在于您必须启动Revit,正如您所知,这可能需要一些时间(并且使该过程比在传统开发中使用单元测试方便得多)。在Autodesk决定进一步开放之前,这是您一直坚持的做法(除非您使用“Revit Python Shell”方法……我想我只是指传统的.NET语言)
祝你好运…杰里米·塔米克(Jeremy Tammik)就这个话题写了一篇博文
Dynamo项目包括,它允许您在Revit API上运行NUnit测试。它处理日志文件的生成,以创建单独的Revit会话以进行独立测试(测试也可以作为一个Revit会话中的固定装置一起运行)。它目前面向发电机,但很容易适应非发电机使用。而且它是开源的,是应用程序的一部分
此外,如果您对源代码进行了改进,请随时提出请求。我们一直在寻找好的贡献。好主意,David,但我正试图针对一个模型工作,所以我想我真的需要一些集成的单元测试:)谢谢,我希望有一种机制,可以从API中导出文档,并与API一起运行,以便在真正的单元测试样式环境中与文档交互。在这种情况下,Revit Python Shell以何种方式更好?确实如此。下面是构建编码器单元测试主题组:我可以在这里支持Ian的答案。RTF可以很容易地用于对Revit中的外部命令进行单元测试。