相关疑难解决方法(0)

假装,嘲弄和捣蛋有什么区别?

我知道我如何使用这些术语,但我想知道是否有单独测试的伪造,模拟存根的可接受定义?你如何为你的测试定义这些?描述您可能使用每种情况的情况.

以下是我如何使用它们:

:一个实现接口但包含固定数据而没有逻辑的类.根据实施情况,简单地返回"好"或"坏"数据.

Mock:一个实现接口的类,允许动态设置值以返回/异常从特定方法抛出,并提供检查是否已调用/未调用特定方法的功能.

存根:类似于模拟类,但它不提供验证方法是否已被调用/未调用的能力.

模拟和存根可以由模拟框架手动生成或生成.伪造的类是手工生成的.我主要使用模拟来验证我的类和依赖类之间的交互.一旦我验证了交互并且正在通过我的代码测试备用路径,我就会使用存根.我主要使用假类来抽象出数据依赖性,或者每次使用模拟/存根都太繁琐.

unit-testing terminology mocking stub definition

650
推荐指数
11
解决办法
17万
查看次数

单元测试Web服务 - HttpContext

我想为Web服务编写单元测试.我创建我的测试项目,引用我的web项目(不是服务引用,程序集引用),然后编写一些代码来测试Web服务 - 它们工作正常.但是,有一些服务可确保用户使用登录Web应用程序HttpContext.Current.User.Identity.IsAuthenticated.

在测试的上下文中,没有HttpContext这样的东西,所以测试总是失败.这些Web服务应该如何进行单元测试?

asp.net unit-testing httpcontext

14
推荐指数
1
解决办法
6928
查看次数

如何在AngularJS中模拟包含资源的服务

我有一个包含这样的资源工厂的服务:

serviceModule.factory('ProjectResource', ['$resource', function($resource){
    return $resource('/projects/:id.json', {}, {
        'query': {method: 'GET', isArray: true}}
    );
}]);
Run Code Online (Sandbox Code Playgroud)

在一个驻留在控制器中的表单中,我注入了serviceModule,然后创建了一个资源对象的新实例:

  $scope.project = new ProjectResource({name: 'Enter a name'})
Run Code Online (Sandbox Code Playgroud)

我有一些嘲弄它的问题.我试过像这样创建一个模拟对象,并将其注入控制器:

 mockProjectResource = {
            query: function(){
                deferred = $q.defer();
                deferred.resolve({id: 1, :name:'test'});
                return deferred.promise;
            }
        };
Run Code Online (Sandbox Code Playgroud)

无论单元测试,我都会收到错误:

TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)

这指向Project Resource对象($scope.project = new ProjectResource({name: 'Enter a name'}))的初始化.

有没有什么好方法来嘲笑new ProjectResource(...)

unit-testing mocking angularjs

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

单元测试时Stub vs Mock

我最近对测试非常感兴趣,我现在正努力学习以最佳方式进行单元测试.我和Ninoit一起使用Rhino Mocks.我在Stackoverflow上也经常阅读,但还没有找到我的问题的明确答案.

我想知道如果我有一个类似下面的方法,我应该模拟OfficeClass依赖项并测试GetAllOffices或仅使用存根来获取依赖关系并验证方法GetAllOffices已被调用,我确实得到了办公室,我从我的存根设置预期?

public Offices GetAllOffices() 
{
    try
    {
        var offices = officeClass.GetAllOffices();
        return offices;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果OfficeClass只是另一个POCO,或者是否因为嘲弄和存根而被称为网络服务,它会有什么不同吗?

长问题简介:何时进行模拟以及何时进行单元测试中的Stub?

c# unit-testing mocking stub

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

犀牛嘲笑:Stub&Mocks.有什么不同

我在单元测试中使用Rhino Mocks.

我想知道STUBS和MOCKS(mocks.Stub<T>()mocks.StrictMock<T>())之间的区别.

unit-testing mocking stub

5
推荐指数
1
解决办法
990
查看次数