小编Cra*_*g.C的帖子

我可以将委托传递给 Xunit 理论吗

我有兴趣在许多类上重用测试理论,特别是在需要相同测试的许多构造函数上。我最初的想法是使用委托来执行此功能。

然而,我认为我可能正在尝试重新发明轮子,尽管 C# 有一些功能,但我认为我正在尝试一种不正确的方法。对于这种事情,是否有使用比 InlineData 更正确的方法的支持方法?

InlineData 似乎用于注入输入,因此我可能会测试给定测试的许多示例。但是我可以为多个方法提供多个变量并进行测试 ^x 而不是 *x

[Theory]
[InlineData(input => new ConcreteConstructor(input)) ]
public void Constructor_Should_Not_Throw_Expection (Action<string>)
{
  constructor("SomeString");            
}
Run Code Online (Sandbox Code Playgroud)

NB 我认为我应该Func在这种情况下使用,因为返回了一个对象。无论如何,我怀疑这完全是错误的方法,所以这不是主要考虑因素。

xunit.net

4
推荐指数
1
解决办法
1226
查看次数

部分应用程序无法获得与infix运算符“(%% xy &lt;&gt; x%y-&gt; wtf”)相同的结果

我刚刚对值进行了一些验证,以查看它是三的乘积。大量使用模函数。我想管它。很好地使用部分应用程序。但显然不是。

这是我的fsi在vs代码中的一个示例。

> 27 % 3
-
- ;;
val it : int = 0

> (%) 3 27
- ;;
val it : int = 3
Run Code Online (Sandbox Code Playgroud)

我真的没想到从中缀和部分中得到不同的结果。

这是上下文管道中的操作:

...
|> Seq.length // 27
|> (%) 3 // 3
Run Code Online (Sandbox Code Playgroud)

f# partial-application infix-operator

0
推荐指数
1
解决办法
77
查看次数