Mastering Ninject

  • 将接口A以类B的一个属性注入,并通过类B的一个方法操作接口A的某个方法。

下面是一个示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
namespace Samples  
{
/// <summary>
/// 这是一个抽象类,其中包含一个抽象方法
/// </summary>
public abstract class Forceps
{
public abstract void Grab();
}
}



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Moq;
using NUnit.Framework;

namespace Samples.Test
{
/// <summary>
/// 测试类
/// 测试通过依赖注入的方法,调用接口函数
/// </summary>
[TestFixture]
class SurgeonFixture
{
[Test]
public void CallingOperateCallsGrabOnForceps()
{ var forcepsMock = new Mock<Forceps>();

var surgeon = new Surgeon(forcepsMock.Object);
surgeon.Operate();

forcepsMock.Verify(f => f.Grab());
} }}