C# 在被测系统上调用方法

C# 在被测系统上调用方法,c#,fitnesse,fitsharp,C#,Fitnesse,Fitsharp,当使用DoFixture时,我可以将域对象设置为测试中的系统,这允许我调用该对象上的方法,而不是fixture本身 不幸的是,如果这种方法需要多个参数,我必须用空单元格分隔这些参数,因为否则fitnesse/fitSharp使用奇数/偶数单元格来建立方法名称。我可以看出这如何使我的测试更像纯英语,但仅仅为了满足测试框架的要求而开始重命名域对象方法是不可行的 例如,假设我想调用方法Entry AddEntry(字符串名称、字符串描述),并将结果存储为symbole1。如果我尝试下表: |name|

当使用
DoFixture
时,我可以将域对象设置为测试中的系统,这允许我调用该对象上的方法,而不是fixture本身

不幸的是,如果这种方法需要多个参数,我必须用空单元格分隔这些参数,因为否则fitnesse/fitSharp使用奇数/偶数单元格来建立方法名称。我可以看出这如何使我的测试更像纯英语,但仅仅为了满足测试框架的要求而开始重命名域对象方法是不可行的

例如,假设我想调用方法
Entry AddEntry(字符串名称、字符串描述)
,并将结果存储为symbol
e1
。如果我尝试下表:

|name|e1|add entry|sample name|sample description|
它将尝试查找名为
AddEntrySampleDescription
的方法,并向其传递单个参数
“示例名称”

我能行

|name|e1|add|sample name|entry|sample description|
但是看起来不太对劲

因此,我最后要做的是(注意参数之间的额外空单元格)


这正是我想要的,并不像选项2那么难看,但它看起来仍然像一个黑客。我是否遗漏了什么,或者这实际上是对域对象调用方法的方法吗?

您可以在参数之间添加空单元格-这是一种广泛使用的技术。也可以使用SequenceFixture:

SequenceFixture与DoFixture非常相似,其功能几乎相同 功能-事实上,这两者之间的唯一区别是命名 方法公约。而不是使用奇数单元格来构造 方法名SequenceFixture将每行中的第一个单元格作为 方法名和所有其他单元格作为参数


你能给我们看一下你的确切代码吗,这样从一个编码的standpoint@MethodMan,我的问题中包含了方法的确切签名。你还需要什么样的其他细节?
|name|e1|add entry|sample name||sample description|