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。
希望这个解释能帮助其他面临同样问题的人。谢谢! :)
我有两个文件夹,文件夹 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。
希望这个解释能帮助其他面临同样问题的人。谢谢! :)