官网提供的 单元测试 例子比较简单, 但是没有依赖注入套路的测试例子.
正巧最近用 .netcore 重写实现了一个短信 sdk, 安装依赖注入的套路使用时如下:
services.AddSmsClient();
不要想以前一样, 代码里面到处 new SmsClient()
.
但是随之而来的一个问题是, SDK 的单元测试要怎么写?
简单点来看
-
using Microsoft.Extensions.DependencyInjection;
-
[TestClass]
-
public class TestClass1
-
{
-
[TestMethod]
-
public void TestMethod1()
-
{
-
IServiceCollection services = new ServiceCollection();
-
services.AddSmsClient(); // SDK 内实现的依赖注入扩展方法
-
ServiceProvider serviceProvider = services.BuildServiceProvider();
-
ISmsClient smsClient = serviceProvider.GetService<ISmsClient>(); // 取出实例, 调用即可.
-
// ...
-
}
-
}
转载于:https://my.oschina.net/taadis/blog/3092841