mocking相关内容
我正在编写一个集成测试,其中应用程序上下文 xml 在启动期间被初始化.测试类中有几种测试方法,它们使用特定的 bean 'X'(已经在 xml 中定义).我的实际要求是仅针对其中一种测试方法模拟 bean X. 在测试方法中:我尝试使用 ClassPathXMLApplicationContext 创建一个单独的应用程序上下文,其中只有模拟 bean 'M'. 现在我有两个应用程序上
..
我有一个烧瓶应用程序,它在 before_filter 中设置数据库连接,非常类似于 这个: @app.before_requestdef before_request():g.db = connect_db() 现在:我正在编写一些单元测试,但我确实不希望它们进入数据库.我想用可以设置期望的模拟对象替换 g.db. 我的测试使用 app.test_client(),正如烧瓶文档 这里.
..
我是单元测试的新手.但是如何对使用 Entity Framework 编写的 DAL 进行单元测试,以便确保我的 DAL 代码正常工作但实际上没有触及数据库?谁能提供尽可能详细的信息. 解决方案 如果你想测试你的数据访问层是否正常工作,你真的需要在某个时候针对数据库进行测试,否则你实际上并没有测试它有效.
..
我是 Python 中的新手.我想知道如何在用另一个类方法进行测试时替换(模拟)一个类方法,知道原来的只是改变了 self 的一些属性而不返回任何值.例如: def some_method(self):自我.x = 4自我.y = 6 所以在这里我不能只更改模拟的 return_value.我试图定义一个新函数(应该替换原来的函数)并将其作为 side_effect 提供给模拟.但是我怎样才能
..
我正在测试一个从另一个非常复杂的类继承的类,具有数据库连接方法和一堆依赖项.我想模拟它的基类,以便我可以很好地使用子类中定义的方法,但是在我从模拟类继承的那一刻,对象本身变成了模拟并丢失了它的所有方法. 如何模拟超类? 这种情况或多或少可以概括为: 导入模拟ClassMock = mock.MagicMock()类RealClass(ClassMock):def 大声笑(自我):打印
..
我正在尝试为我正在处理的项目中的一些实用程序类设置单元测试,其中一个类(包含许可信息)具有一种基于当前时间进行某些确定的方法. 即许可证包含到期日期,并且许可证字符串验证该日期,但查看许可证是否过期的实际逻辑是基于当前时间. public boolean isValid(){返回 isLicenseStringValid() &&!isExpired();}公共布尔 isExpired()
..
我使用过编写了 NUnit 测试的代码.但是,我从未使用过模拟框架.这些是什么?我了解依赖注入以及它如何帮助提高可测试性.我的意思是在单元测试时可以模拟所有依赖项.但是,那为什么我们需要模拟框架呢?我们不能简单地创建模拟对象并提供依赖项.我在这里错过了什么吗?谢谢. 解决方案 它使模拟更容易 他们通常让你表达可测试提到的断言对象之间的交互. 这里有一个例子: var extens
..
我们使用 ELMAH 来处理我们的 ASP.Net MVC c# 应用程序中的错误,并且在我们捕获的异常中,我们正在做这样的事情: ErrorSignal.FromCurrentContext().Raise(exception); 但是当我尝试对捕获的异常进行单元测试时,我收到以下消息: System.ArgumentNullException:值不能为空.参数名称:上下文 如何模拟 F
..
我正在使用 python 模拟框架进行测试 (http://www.voidspace.org.uk/python/mock/),我想模拟一个超类并专注于测试子类的添加行为. (对于那些感兴趣的人,我已经扩展了 pymongo.collection.Collection,我只想测试我添加的行为.我不想为了测试目的而将 mongodb 作为另一个进程运行.) 对于本次讨论,A 是超类,B
..
我在 config.json 文件中有一个如下列表` {“富":{“酒吧": ["1","2",“3"]}}` 我可以使用 在运行时获取列表 Configuration.GetSection("foo:bar").Get>() 我想模拟 configuration.GetSection 来编写单元测试. 以下语法失败 mockConfigRepo.Set
..
假设这是代码 def move(*args, **kwargs):尝试:shutil.move(源,目的地)例外为 e:提高e 在我的tests.py中 @patch.object(shutil, 'move')def test_move_catch_exception(self, mock_rmtree):''' 测试移动目标命中异常.'''mock_rmtree.side_effect
..
我对模拟真的很陌生,正在尝试用模拟对象替换私有字段.目前,私有字段的实例是在构造函数中创建的.我的代码看起来像... 公共类缓存{私人 ISnapshot _lastest_snapshot;公共 ISnapshot 最新快照 {得到 { 返回 this._lastest_snapshot;}私人设置 { this._latest_snapshot = value;}}公共缓存(){this.L
..
我想测试的 Java 类(称为 ServiceCaller)有这个: @Autowired @Qualifier(value="serviceA")SomeService服务A;@Autowired @Qualifier(value="serviceB")SomeService服务B; (有一个 doWork() 方法将检查条件并调用 A 或 B). 如何将每个服务的模拟注入到适当的变量
..
我有一个类似 void 方法的模拟类 public class Mock {公共无效方法(字符串){//做一点事}} 我不关心这个方法的作用,但我想发送字符串. 这个字符串实际上是一个 JSON 格式的对象,我正在测试的方法是根据最初发送的字符串修改这个对象(假设是非常随机的). 方法(字符串 json){对象 obj = unparse(json);obj.setRandomValu
..
这是我在控制器中的方法,由 @Controller 注释 @RequestMapping(value = "/getServerAlertFilters/{serverName}/", 产生 = "application/json; charset=utf-8")@ResponseBody公共 JSONObject getServerAlertFilters(@PathVariable Str
..
嘲笑的目的是什么? 我一直在关注一些使用 NUnit 进行测试和 Moq 进行模拟的 ASP.NET MVC 教程.不过,我对其中的嘲弄部分有点不清楚. 解决方案 模拟的目的是将被测试的类与其他类隔离. 这在上课时很有帮助: 连接到外部资源(文件系统、数据库、网络...) 设置成本高昂,或尚不可用(正在开发硬件) 减慢单元测试的执行速度 具有不确定的行为 拥有(或
..
有人告诉我@Mock 通常只用于单元测试,但我认为它对于替换测试类之外的外部部分很有用.在集成测试中模拟是否正确? 解决方案 最后,这都是关于措辞的. 当您从最基本的意义上考虑“正确"时,例如 正确性,那么答案很简单:没有. 您知道,集成测试的目标是确保您的集成系统(由多个不同的组件组成)按预期运行.集成测试的目的是验证您的组件“管道"是否按预期工作.因此:当系统的部分被模拟出
..
我使用 NMock2,并起草了以下 NMock 类来表示一些常见的模拟框架概念: Expect:这指定了一个模拟方法应该返回什么,并表示调用必须发生或测试失败(伴随着对 VerifyAllExpectationsHaveBeenMet() 的调用). Stub:指定模拟方法应返回的内容,但不会导致测试失败. 那么我应该什么时候做呢? 解决方案 很多mocking框架都带来
..
在 .NET 中,TypeMock Isolator 和 Microsoft Moles 允许隔离任何类、属性或方法 - 无论是密封的、静态的、受保护的还是非虚拟的.所以在 Moq 或 Rhino Mocks 中不可能模拟的东西,现在不再是这样了. 我一直对使用接口只是为了能够允许模拟的想法有些反感,否则只会存在具体的类.我并不孤单(请参阅此处,这里和这里).在后面,它暗示“现代"模拟框架不
..
我想模拟一个 ResultSet.严重地.我正在重构一大段复杂的代码,它正在解析来自 ResultSet 的数据,并且我希望我的代码具有相同的行为.所以,我需要为正在重构的部分编写一个单元测试,以便能够对此进行测试. 谷歌搜索后,我想出了两个想法: 使用 EasyMock,编写 looooong 模拟序列.非常糟糕的解决方案:难以添加初始数据、难以更改数据、大量的测试调试. 使用 A
..