C# Specflow:如何在另一个文件夹的 class 中调用具有动态表作为参数的方法

C# Specflow: How to call a method having dynamic tables as an argument in another folder's class

我有两个文件夹,文件夹 A 和文件夹 B,包含不同的 classes 和方法。

文件夹 A

Class A -> Method1 (Which uses data from the table mentioned in its feature file)

文件夹 B

Class B -> Method 2

问题:我想在Method2中调用Method1。我已经导入了必要的 class 和其他数据,但仍然无法正常工作。

方法 1:public void WhenAdminFillsAllTheDetails(Table table) // 这包含一长串数据,例如姓名、phone、城市、出生日期等等

方法二:该方法调用Method1,如下所示: CNES_Steps.WhenAdminFillsAllTheDetails(table) // 我创建了一个 Table -> table

的实例

我不确定,我也无法发表评论。但是,如果方法 1 不是静态的,则如果不创建此类 class.

的实例,则无法从另一个 class 调用它

解决方案 1:将方法 1 设为静态

public static void Method1 ()

解决方案 2:创建包含方法 1

的 class 实例
classFromOtherNameSpace obj = new classFromOtherNameSpace ();
obj.Method1();

我想在另一个方法中调用 Method1(它使用来自其功能文件中提到的 table 的数据)。由于 Table 实例的参数,我遇到了这个问题。由于该方法是特定特征文件的,其他没有相同特征文件的方法无法调用该方法。在这里,我没有收到任何错误,但浏览器过去常常在 运行 测试时打开时立即关闭。

后来我发现这实际上是不可能的,因为Table有一些限制。

如果我想在多个绑定之间共享数据,那么我必须使用上下文注入方法。我也这样做了。我创建了一个新的单独的 POCO class 只是为了共享数据,然后我在 2 个不同的绑定中使用相同的 class。

希望这个解释能帮助其他面临同样问题的人。谢谢! :)