Tag: 嘲笑

断言一个函数/方法不是使用Mock调用的

我正在使用模拟库来testing我的应用程序,但我想断言一些函数没有被调用。 模拟文档讨论像mock.assert_called_with和mock.assert_called_once_with这样的方法,但是我没有发现任何类似mock.assert_not_called或者相关的东西来validationmock 没有被调用 。 我可以像下面这样做,虽然看起来不酷,也不像pythonic: def test_something: # some actions with patch('something') as my_var: try: # args are not important. func should never be called in this test my_var.assert_called_with(some, args) except AssertionError: pass # this error being raised means it's ok # other stuff 任何想法如何做到这一点? 谢谢你的帮助 :)

Go中的模拟function

我正在通过编写一个小型的个人项目来学习Go。 尽pipe它很小,但我决定从一开始就进行严格的unit testing,以在Go上学习良好的习惯。 琐碎的unit testing都很好,但是我现在对依赖关系感到困惑。 我想能够用模拟的replace一些函数调用。 这是我的代码片段: func get_page(url string) string { get_dl_slot(url) defer free_dl_slot(url) resp, err := http.Get(url) if err != nil { return "" } defer resp.Body.Close() contents, err := ioutil.ReadAll(resp.Body) if err != nil { return "" } return string(contents) } func downloader() { dl_slots = make(chan bool, DL_SLOT_AMOUNT) // Init the […]

如何使用mockMvc检查响应正文中的string

我有简单的集成testing @Test public void shouldReturnErrorMessageToAdminWhenCreatingUserWithUsedUserName() throws Exception { mockMvc.perform(post("/api/users").header("Authorization", base64ForTestUser).contentType(MediaType.APPLICATION_JSON) .content("{\"userName\":\"testUserDetails\",\"firstName\":\"xxx\",\"lastName\":\"xxx\",\"password\":\"xxx\"}")) .andDo(print()) .andExpect(status().isBadRequest()) .andExpect(?); } 在最后一行,我想比较收到的响应正文string和预期的string 作为回应,我得到: MockHttpServletResponse: Status = 400 Error message = null Headers = {Content-Type=[application/json]} Content type = application/json Body = "Username already taken" Forwarded URL = null Redirected URL = null 尝试了一些与内容(),身体()的技巧,但没有任何工作。

在使用Mockito时,模拟和间谍有什么区别?

Mockito间谍的用法是什么? 在我看来,每个间谍用例可以用模拟处理,使用callRealMethod。 我可以看到的一个区别是,如果你想大部分的方法调用是真实的,它会节省一些代码来使用模拟与间谍。 这是我还是错过了更大的图片?

什么是你最喜欢的Python嘲笑库?

什么是你最喜欢Python嘲笑库?

使用Mockito嘲笑类的成员variables

我是一个开发新手,特别是unit testing。 我想我的要求很简单,但我很想知道其他人的想法。 假设我有两个类, public class First { Second second ; public First(){ second = new Second(); } public String doSecond(){ return second.doSecond(); } } class Second { public String doSecond(){ return "Do Something"; } } 假设我正在编写unit testing来testingFirst.doSecond()方法。 但是,假设,我想模拟Second.doSecond()类如此。 我正在使用Mockito来做到这一点。 public void testFirst(){ Second sec = mock(Second.class); when(sec.doSecond()).thenReturn("Stubbed Second"); First first = new First(); assertEquals("Stubbed […]

随机数据在unit testing?

我有一个同事为对象填​​写随机数据的unit testing。 他的理由是它提供了更广泛的testing,因为它会testing很多不同的值,而正常的testing只使用一个静态值。 我给了他很多不同的理由,主要是: 随机值意味着testing不是真正可重复的(这也意味着,如果testing可以随机失败,它可以在构build服务器上这样做,并打破构build) 如果它是一个随机值并且testing失败,我们需要a)修复这个对象,并且b)强迫我们每次testing这个值,所以我们知道它是有效的,但是因为它是随机的,所以我们不知道这个值是什么 另一位同事补充说: 如果我正在testing一个exception,那么随机值将不能确保testing以预期的状态结束 随机数据用于清除系统和加载testing,而不是unit testing 其他人可以添加额外的理由,我可以给他让他停止这样做吗? (或者,这是写一个unit testing的可接受的方法,我和我的另一个同事是错的?)

Mockito与JMockit之间的比较 – 为什么Mockito比JMockit投票更好?

我正在调查哪个模拟框架用于我的项目,并已缩小到JMockit和Mockito 。 我注意到Mockito在Stackoverflow上被评选为“ 最好的Java模拟框架 ”。 在比较JMockit的“ 模拟工具比较matrix ”中的特性时, JMockit显示出多种不同的特性。 有没有人有任何具体的信息(而不是意见) Mockito可以做什么不能用JMockit实现,反之亦然?

模拟对象的目的是什么?

我是unit testing的新手,我不断听到“模拟对象”这个词。 用外行的话来说,有人可以解释一下模拟对象是什么,以及在编写unit testing时通常使用什么对象?

ASP.NET WebApiunit testing与Request.CreateResponse

我试图为我的ApiController编写一些unit testing,并面临一些问题。 有一个很好的扩展方法,称为Request.CreateResponse,有助于生成响应很多。 public HttpResponseMessage Post(Product product) { var createdProduct = repo.Add(product); return this.Request.CreateResponse(HttpStatusCode.Created, createdProduct); } 有没有办法嘲笑CreateResponse不使用部分模拟或直接使用“新的HttpResponseMessage(…)”?