【发布时间】:2019-05-14 18:26:31
【问题描述】:
我有一个测试解决方案,其中包含多个 NUnit 项目,这些项目引用具有日志记录功能的 dll。
在 [OneTimeSetUp] 期间(对于每个 NUnit 项目),我正在为当前正在执行的项目(其方法在 dll 中)创建一个日志文件。我想在 dll 中检索 NUnit 项目名称,以便可以使用它来命名日志文件。我可以将 NUnit 项目中的信息传递给 dll,但我可以在 dll 中以某种方式检索它吗?
【问题讨论】:
我有一个测试解决方案,其中包含多个 NUnit 项目,这些项目引用具有日志记录功能的 dll。
在 [OneTimeSetUp] 期间(对于每个 NUnit 项目),我正在为当前正在执行的项目(其方法在 dll 中)创建一个日志文件。我想在 dll 中检索 NUnit 项目名称,以便可以使用它来命名日志文件。我可以将 NUnit 项目中的信息传递给 dll,但我可以在 dll 中以某种方式检索它吗?
【问题讨论】:
无法直接访问调用程序集的 NUnit 项目名称。
但是,运行 nunit 的脚本知道项目的名称,因此您可以使用 nunit3-console 将其作为测试运行参数简单地传递。在命令行上使用--params 选项。
要从您的测试代码中检索名称,请使用TestContext。
【讨论】:
要获取当前正在执行的项目的名称,您可以使用
GetType().Assembly.ManifestModule.Name
在您的设置中,这将返回正在执行的 dll 的名称
【讨论】:
.nunit 的文件。