gpt4 book ai didi

c# - 如何模拟抽象基类

转载 作者:太空狗 更新时间:2023-10-30 01:05:00 26 4
gpt4 key购买 nike

我有一个名为“Question”的基类和几个子类,例如“TrueFalse”、“MultipleChoice”、“MatchPairs”等...

基类具有所有子类都使用的逻辑方法,例如发送分数和引发事件。

我已经为子类设置了单元测试,但我不确定如何为基类中的方法设置单元测试。

我做了一些搜索,我知道我需要创建一个类的 Mock,但我不确定该怎么做,因为我只看到了如何在一个可实例化的对象上执行此操作。

我在项目中安装了 Moq 和 NUnit,所以理想情况下我喜欢使用它。我对编程还是个新手,这是我第一次添加单元测试,所以非常感谢您给我的任何建议。

我先在网站上搜索了一下,发现了几个类似的问题,但他们没有给出任何例子说明如何去做,只是说它需要被模拟。

非常感谢。

最佳答案

来自 this answer看起来你需要的是这些方面的东西:

[Test]
public void MoqTest()
{
var mock = new Moq.Mock<AbstractBaseClass>();
// set the behavior of mocked methods
mock.Setup(abs => abs.Foo()).Returns(5);

// getting an instance of the class
var abstractBaseClass = mock.Object;
// Asseting it actually works :)
Assert.AreEqual(5, abstractBaseClass.Foo());
}

关于c# - 如何模拟抽象基类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20591155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com