相关疑难解决方法(0)

使用moq模拟虚拟只读属性

我找不到办法做到这一点,虽然这可以手工完成,所以为什么不用moq?

tdd unit-testing moq mocking

43
推荐指数
1
解决办法
1万
查看次数

如何使用Moq模拟对具体对象的函数调用?

我怎么能在Moq做到这一点?

Foo bar = new Foo();
Fake(bar.PrivateGetter).Return('whatever value')
Run Code Online (Sandbox Code Playgroud)

我似乎只能找到如何模拟通过框架创建的对象.我想在我创建的具体对象上只模拟一个方法/属性.

在TypeMock中,我会这样做Isolate.WhenCalled(bar.PrivateGetter).Returns('whatever value').

有任何想法吗?

tdd unit-testing moq mocking

31
推荐指数
2
解决办法
3万
查看次数

接口如何使单元测试和模拟更容易?

人们常说接口使得模拟和单元测试变得更容易.接口如何帮助解决这个问题?

unit-testing mocking

14
推荐指数
2
解决办法
8440
查看次数

你能模拟一个实现接口和抽象类的对象吗?

是否可以使用Moq来模拟实现接口和抽象类的对象?

即:

public class MyClass: SomeAbstractClass, IMyClass
Run Code Online (Sandbox Code Playgroud)

你能嘲笑这个吗?

c# unit-testing moq

10
推荐指数
1
解决办法
1488
查看次数

在调用方法中模拟局部变量

在我班级的方法中嘲笑局部变量时遇到了一些麻烦.

我尝试模拟我的Worker类,但它调用一个返回null值的方法,我的上下文变量变为null.因此,当我尝试获取Name属性时,我得到一个异常.

如何强制CreateWorkerContext()返回模拟值?可能有办法模拟局部变量(context)?

谢谢!

我的代码将详细说明问题:

namespace Moq
{
    class Program
    {
        static void Main(string[] args)
        {
            var workerMock = new Mock<Worker>();
            workerMock.Object.GetContextName();
        }
    }

    public class Worker
    {
        public string GetContextName()
        {
            // something happens and context does not create (imitated situation)
            WorkerContext context = CreateWorkerContext();

            // exception because _context is null
            return context.Name;
        }

        private WorkerContext CreateWorkerContext()
        {
            // imitate that context is not created
            return null;
        }
    }

    public class WorkerContext
    {
        public string …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing class moq

3
推荐指数
1
解决办法
1469
查看次数

标签 统计

unit-testing ×5

moq ×4

mocking ×3

c# ×2

tdd ×2

class ×1