11 2022 档案

摘要:我们的代码中有时候会需要调用其他平台的接口,在做单元测试的时候,我们不需要测试这些第三方接口是否生效,接口是否有问题,但是如果我们直接调用第三方接口,这些接口的错误又会影响我们正常的测试工作,所以我们应该怎么办呢?我们可以模拟这些接口,让其返回我们期待的返回结果,这样我们就可以顺利的进行内部代码的测 阅读全文
posted @ 2022-11-30 22:42 Lulus 阅读(384) 评论(0) 推荐(0) 编辑
摘要:在我们写SQL时,经常会遇到IN、NOT IN这样的查询条件,这时后面的条件需要一个参数列表。 我们期待可以根据数据列表[1,3,5],动态生成多个参数,即@Parameter1=1,@Parameter2=3,@Parameter3=5。 我们可以写一个扩展方法实现它: public static 阅读全文
posted @ 2022-11-15 15:32 Lulus 阅读(519) 评论(0) 推荐(0) 编辑
摘要:public static void Run() { //return 1 var t1 = TestClass.Test1(); //return 2 var t2 = TestClass.Test2(); var state = ReplaceMethod(typeof(TestClass).G 阅读全文
posted @ 2022-11-14 15:06 Lulus 阅读(426) 评论(0) 推荐(0) 编辑
摘要:有时我们单元测试的时候,期待我们通过Nsubstitute模拟的方法可以根据不同的入参、不同的逻辑,返回不同的结果。 事实上,Nsubstitute 支持通过Function的方式返回指定值。 例子代码如下 teacherManager .Insert(Arg.Any<Teacher>()) .Re 阅读全文
posted @ 2022-11-12 14:27 Lulus 阅读(535) 评论(0) 推荐(0) 编辑
摘要:我们的代码并不是一个方法可以完成的,我们通常会设置很多层级,比如Controller、ApplicationService、DomainService、Repository,这个时候,单元测试应该怎么写呢?我们应该模拟下层方法(接口)的返回结果,有且只测试当前方法的代码逻辑。 下面以NSubstit 阅读全文
posted @ 2022-11-08 17:50 Lulus 阅读(426) 评论(0) 推荐(0) 编辑
摘要:之前我们介绍了如何在单元测试中设置优先级,以一定的顺序执行单元测试。但根据对单元测试排序和.NET Core 和 .NET Standard 单元测试最佳做法我们可以知道,这并不是最佳做法。 那么最佳做法是什么呢?我们应该保证每一个单元测试都是自包含的。 以StudentServiceWithPri 阅读全文
posted @ 2022-11-07 09:11 Lulus 阅读(556) 评论(0) 推荐(0) 编辑
摘要:有时候我们期待以固定的顺序执行测试,比如先新增学生信息,再修改学生信息,再查询、再删除。在这种设计下,如果顺序发生变化,可能导致错误,比如修改一个不存在的学生信息,会导致测试不通过。 这里以Xunit为例,来看一下如何实现顺序执行单元测试。 直接谷歌xunit Priority unit test, 阅读全文
posted @ 2022-11-06 13:48 Lulus 阅读(756) 评论(0) 推荐(0) 编辑