【发布时间】:2011-04-05 14:33:10
【问题描述】:
我正在使用 Moq,我有以下界面:
public interface IGameBoard : IEnumerable<PieceType>
{
...
}
public class GameBoardNodeFactory
{
public virtual GameBoardNode Create (int row, int column, IGameBoard gameBoard)
{
...
}
}
然后我有一个这样的测试:
var clonedGameBoardMock = new Mock<IGameBoard> (MockBehavior.Loose);
var gameBoardNodeFactoryMock = new Mock<GameBoardNodeFactory> ();
gameBoardNodeFactoryMock.Setup (x =>
x.Create (
position.Row,
position.Column,
clonedGameBoardMock.Object)).Returns (new GameBoardNode { Row = position.Row, Column = position.Column });
但随后 gameBoardNodeFactoryMock.Object.Create (position.Row, position.Column, clonedGameBoardMock.Object) 会抛出 NullReferenceException。我试图为 IGameBoard 创建一个模拟,这样它就不会扩展 IEnumerable
感谢任何帮助。
【问题讨论】:
标签: c# mocking ienumerable moq