我正在使用这个非常漂亮的迷你ORM, Simple.Data 来设置大量测试数据,快速简便。 我真的想把它扩展为断言。例如,我想在计数时断言:
Db.MyTable.GetCount(); <- Returns a dynamic
这样我可以或多或少地评估你对FluentAssertions的评价。 它看起来像这样:
Db.MyTable.GetCount().ShouldBe(X);
但我发现很难做到这一点而不会失去动力的优势。
有没有人知道如何做到这一点,或者是否可能在合理范围内?
我目前正在GitHub遍历src试图找到一种方法,我可以在本地进行此操作并使用 impromptu 来寻找方法。
答案 0 :(得分:2)
答案就像在那个问题中一样,要么将ShouldBe作为静态方法调用:
AssertionExtensions.ShouldBe(Db.MyTable.GetCount(), 3);
或将方法的返回值内联到已知类型:
((int)Db.MyTable.GetCount()).ShouldBe(3);
或者,正如您正在调查的那样,使用Impromptu通过GetCount方法将接口应用于MyTable。我猜你在Simple.Data和Impromptu上看过我的博文,但如果你还没有:http://blog.markrendle.net/2012/10/12/howto-dial-up-the-static-on-simple-data/
答案 1 :(得分:0)
在你正在创建的类中,为什么不创建自己的自定义断言类,并使你创建的对象类继承它们。
public class MyClass : MyCustomExceptionClass
{
}
通过这种方式,您可以更轻松地按照自己想要的方式测试方法