感谢您在以下问题上的帮助。很抱歉,但是我感到很烦,我想尽我所能。
我需要测试一堂课。该类具有一些业务逻辑,并且使用Orleans。我有多种测试场景,希望自己实现,一旦扩展课程,将来某些场景将由其他场景实现。我正在使用本地计算机上的Orleans测试集群来测试该类,并且正在使用多个模拟程序。这些测试由MStest 2运行。
如果我正确理解,则注册模拟,解决它们然后覆盖它们的注册并注册一些新行为是一种反模式。 Simple Injector和其他DI容器也可以通过锁定容器来禁用它。
好的,因此在部署测试集群之前,我必须立即注册所有模拟的行为。所以现在我的模拟根据我作为参数传递的任意测试ID返回不同的结果。 Thia不可维护,如果有人希望添加新测试,则他必须了解我在识别模拟中的测试场景时所需要的任意系统。
此外,现在我有一些测试方法,该方法取决于我在ClassInitialize中运行的某些安装方法。因此,如果有人要添加新测试,则必须在代码中添加2种新方法,一种用于设置,另一种用于实际测试。这也将创建命名重复,因为测试方法和设置方法具有相似的名称。这使得代码更加难以维护。
此外,由于测试场景的设置方法与其测试方法之间需要一些数据共享,因此我需要使用几个静态变量。
直觉上,我想我对此有一个奇怪的方向,那是另一种方式。
在使用di,mocks(moq)和Orleans时,如何制作可维护,可扩展,奶嘴的方法,请问您一个建议?
谢谢