我在测试 Controller 时遇到了麻烦,因为在我的 Startup 中有一些行在测试时为空,我想添加一个条件以仅在未测试时运行这些行。
// Desired method that retrieves if testing
if (!this.isTesting())
{
SwaggerConfig.ConfigureServices(services, this.AuthConfiguration, this.ApiMetadata.Version);
}
最佳答案
正确答案(虽然没有帮助):它应该不能够这么说。应用程序应该对它所做的一切都不知道它是在生产还是测试中。
但是,要在更简单的设置中测试应用程序,您可以使用加载的假模块或模型模块,而不是重量级生产模块。
但是为了使用它,您必须重构您的解决方案并使用注入(inject)。
我找到的一些链接:
关于c# - 如何识别我的代码何时在 C# 中进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57756668/