Tag: 嘲笑

如何在django中嘲笑用户和请求

我有与请求对象或用户对象交互的Django代码。 比如像这样的东西: foo_model_instance = models.get_or_create_foo_from_user(request.user) 如果你打算用django python shell或unit testing来testing,你会在那里通过什么? 这里只需要一个User对象,但是对于一个模拟请求对象的需求也经常出现。 对于shell或unittests: 你如何嘲笑用户? 你如何嘲笑请求?

嘲笑使用Rhino.Mocks的静态方法

是否有可能嘲笑使用Rhino.Mocks的静态方法? 如果犀牛不支持这一点,是否有一个模式或东西,让我完成相同的?

集成testing中需要的数据库数据; 通过API调用创build或使用导入的数据?

这个问题或多或less是编程语言不可知的。 然而,现在我主要进入Java,这是我将从中画出的例子。 我也在考虑OOP的情况,所以如果你想testing一个方法,你需要一个方法类的实例。 unit testing的一个核心规则是它们应该是自治的,并且可以通过将类从它的依赖中隔离出来来实现。 有几种方法可以做到这一点,它取决于是否使用IoC注入依赖(在Java世界中,我们有Spring,EJB3和其他提供注入function的框架/平台),或者如果你模拟对象(对于Java你有JMock和EasyMock )将被testing的类从它的依赖关系中分离出来。 如果我们需要在不同的类中testing一组方法*,并且看到它们很好的集成,我们编写集成testing 。 这是我的问题! 至less在Web应用程序中,状态通常被持久化到数据库。 我们可以使用与unit testing相同的工具来实现与数据库的独立性。 但在我看来,我认为有些情况下,不使用数据库进行集成testing太嘲讽(但随意不同意,根本不使用数据库,也是一个有效的答案,因为它使问题变得无关紧要)。 当您使用数据库进行集成testing时,如何使用数据填充该数据库? 我可以看到两种方法: 在开始testing之前,存储集成testing的数据库内容并加载它。 如果它被存储为SQL转储,数据库文件,XML或其他东西将是有趣的知道。 通过API调用创build必要的数据库结构。 这些调用可能会分解成testing代码中的几种方法,每种方法都可能失败。 它可以被看作是依赖于其他testing的集成testing。 你如何确定需要testing的数据库数据? 你为什么select你select的方法? 请提供一个动机的答案 ,因为这是有趣的部分所在。 请记住,只是说“这是最好的做法!” 不是一个真正的动机,它只是重复你从某人读到或听到的东西。 那么请解释一下为什么这是最好的做法。 *我在unit testing的定义中包含了一个调用同一个类中的其他方法的方法,虽然在技术上可能是不正确的。 随时纠正我,但让我们保持它作为一个侧面的问题。

在Java 8的java.time API中嘲笑时间

乔达时间有一个很好的DateTimeUtils.setCurrentMillisFixed()来模拟时间。 这在testing中非常实用。 在Java 8的java.time API中是否有相同的东西 ?

Django:如何dynamic创build一个模型来进行testing

我有一个Django应用程序需要一个settings属性的forms: RELATED_MODELS = ('appname1.modelname1.attribute1', 'appname1.modelname2.attribute2', 'appname2.modelname3.attribute3', …) 然后钩住他们的post_save信号,根据定义的attributeN N来更新一些其他的固定模型。 我想testing这种行为和testing应该工作,即使这个应用程序是唯一的项目(除了自己的依赖,没有其他包装应用程序需要安装)。 我怎样才能创build和附加/注册/激活模拟模型只是为了testing数据库? (或者有可能吗?) 允许我使用testing装置的解决scheme将会很好。

在JavaScript中嘲笑window.location.href

我有一个函数,使用window.location.href的一些unit testing – 不理想我宁愿已经通过了这个,但在实施中不可能。 我只是想知道是否有可能嘲笑这个值,而实际上没有导致我的testing运行器页面实际上去的URL。 window.location.href = "http://www.website.com?varName=foo"; expect(actions.paramToVar(test_Data)).toEqual("bar"); 我正在使用我的unit testing框架的茉莉花。

如何在.NETtesting中传递一个模拟的HttpClient?

我有一个服务使用Microsoft.Net.Http来检索一些Json数据。 大! 当然,我不希望我的unit testing打到实际的服务器(否则,这是一个集成testing)。 这是我的服务ctor(它使用dependency injection…) public Foo(string name, HttpClient httpClient = null) { … } 我不知道我怎么可以嘲笑…说… Moq或FakeItEasy 。 我想确保当我的服务调用GetAsync或PostAsync ..然后我可以伪造这些调用。 任何build议我怎么能做到这一点? 我是 – 希望 – 我不需要做我自己的包装..因为这是废话:(微软不能做出这个疏忽,对吧? (是的,制作包装纸很容易..我之前做过这些,但这是重点!)

Proxyquire,rewire,SandboxedModule和Sinon:优点和缺点

当嘲笑节点依赖关系时,我发生了以下库: Proxyquire 换铁线 SandboxedModule 兴农 他们似乎都做了或多或less都是一样的事情:允许你模拟require()调用(除了Sinon外,它几乎包含了所有的东西)。 他们似乎都需要一些相当复杂的设置,注意传递给require的string的确切语法 – 在重构期间不是很好。 每个图书馆有什么优点和缺点? 我什么时候会select一个呢? 什么是每个图书馆擅长的示例用例? 这个领域的其他产品有哪些更好?

有人可以解释一下Spock框架testing中的Mock,Stub和Spy之间的区别以及何时使用它们?

我不明白Spocktesting中的Mock,Stub和Spy之间的区别,我一直在网上查看的教程没有详细解释它们。

mockito模拟带参数的构造函数

我有一个类如下: public class A { public A(String test) { bla bla bla } public String check() { bla bla bla } } 构造函数A(String test)和check()中的逻辑是我试图模拟的东西。 我想要任何电话,如: new A($$$any string$$$).check()返回一个虚拟的string“testing”。 我试过了: A a = mock(A.class); when(a.check()).thenReturn("test"); String test = a.check(); // to this point, everything works. test shows as "tests" whenNew(A.class).withArguments(Matchers.anyString()).thenReturn(rk); // also tried: //whenNew(A.class).withParameterTypes(String.class).withArguments(Matchers.anyString()).thenReturn(rk); new A("random […]