Tag: unit testing

在JUnit中将unit testing标记为预期的失败

我如何在JUnit 4中将testing标记为预期的失败? 在这种情况下,我想继续运行这个testing,直到上游有补丁。 忽略这个testing有点过分,因为我可能会忘记它。 我可以添加一个@expected注解,并捕获由assertThat抛出的exception,但这似乎也是在于预期的行为。 以下是我目前的testing: @Test public void unmarshalledDocumentHasExpectedValue() { doc = unmarshaller.unmarshal(getResourceAsStream("mydoc.xml")); final ST title = doc.getTitle(); assertThat(doc.getTitle().toStringContent(), equalTo("Expected")); } 这个断言应该成功,但是由于上游的错误,它不会。 然而,那个testing是正确的; 它应该成功。 几乎所有我find的替代品都是误导性的。 现在我认为@Ignore("This test should pass once fixed upstream")是我最好的select,但我仍然要记得回到它。 我更喜欢testing运行。 在Python中,我可以使用expectedFailure装饰器: class ExpectedFailureTestCase(unittest.TestCase): @unittest.expectedFailure def test_fail(self): self.assertEqual(1, 0, "broken") 在C ++中使用Qt的QTestLib ,你可以使用QEXPECT_FAIL : QEXPECT_FAIL("", "Will be fixed next version", Continue); QCOMPARE(i, […]

angular2testing,我怎么模仿子组件

如何在茉莉花testing中模拟子组件? 我有MyComponent ,它使用MyNavbarComponent和MyToolbarComponent import {Component} from 'angular2/core'; import {MyNavbarComponent} from './my-navbar.component'; import {MyToolbarComponent} from './my-toolbar.component'; @Component({ selector: 'my-app', template: ` <my-toolbar></my-toolbar> {{foo}} <my-navbar></my-navbar> `, directives: [MyNavbarComponent, MyToolbarComponent] }) export class MyComponent {} 当我testing这个组件时,我不想加载和testing这两个子组件; MyNavbarComponent,MyToolbarComponent,所以我想嘲笑它。 我知道如何使用provide(MyService, useClass(…))来模拟服务,但我不知道如何模拟指令; 组件; beforeEach(() => { setBaseTestProviders( TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS ); //TODO: want to mock unnecessary directives for this component test // […]

RhinoMocks – 存根返回参数的方法

我正在使用RhinoMocks,我需要存根方法,总是让它返回第三个参数,不pipe传入的是什么: _service.Stub(x => x.Method(parm1, parm2, parm3)).Return(parm3); 显然,这并不容易。 我并不总是知道自己会做什么,但我知道我总是想要回到第三名。

Google可以使用智能指针返回types吗?

我有一个工厂,返回一个智能指针。 无论使用什么智能指针,我都无法让Google Mock嘲笑工厂方法。 模拟对象是所有方法都是虚拟的纯抽象接口的实现。 我有一个原型: MOCK_METHOD0(Create, std::unique_ptr<IMyObjectThing>()); 我得到: "…gmock/gmock-spec-builders.h(1314): error C2248: 'std::unique_ptr<_Ty>::unique_ptr' : cannot access private member declared in class 'std::unique_ptr<_Ty>'" 智能指针指向的types被定义。 而我得到它试图访问其中一个构造函数声明为private,但我不明白为什么。 当这是一个std :: auto_ptr,错误说没有复制构造函数,这使我困惑。 无论如何,有没有办法模拟一个方法,返回一个智能指针? 还是有更好的方法来build造一个工厂? 是我唯一的决心返回一个原始指针(blech …)? 我的环境是Visual Studio 2010 Ultimate和Windows 7.我没有使用CLI。

如何查看在Django的manage.pytesting命令中运行的testing

在使用Django的manage.py test命令完成manage.py test只有通过testing的数量被打印到控制台。 (virtualenv) G:\Project\>python manage.py test Creating test database for alias 'default'… True .. ———————————————————————- Ran 2 tests in 0.017s OK Destroying test database for alias 'default'… 有没有办法看到: 哪些testing实际执行 从什么模块 以什么顺序 我还没有在文档中find任何解决scheme。

什么是Java中的模拟对象?

我想知道Java中的模拟对象 。 为什么我们要创造它们,它们的用途是什么?

如何在unit testing中比较两个对象?

public class Student { public string Name { get; set; } public int ID { get; set; } } … var st1 = new Student { ID = 20, Name = "ligaoren", }; var st2 = new Student { ID = 20, Name = "ligaoren", }; Assert.AreEqual<Student>(st1, st2);// How to Compare two object in Unit […]

在xcodeunit testing中加载文件

我有一个xCode5unit testing项目和一些与之相关的testingxml文件。 我已经尝试了一堆方法,但我似乎无法加载XML文件。 我已经尝试了以下不起作用 NSData* nsData = [NSData dataWithContentsOfFile:@"TestResource/TestData.xml"]; NSString* fileString = [NSString stringWithContentsOfFile:@"TestData.xml" encoding:NSUTF8StringEncoding error:&error]; 另外,如果我尝试使用[NSBundle allBundles]预览所有的捆绑包,unit testing包不会出现在列表中? 我试图创build一个单独的资源包,我似乎无法编程find它,虽然它得到build立和部署。 我究竟做错了什么 ?

debugging摩卡testing的阻力最小的path是什么?

编辑2016年11月:节点现在有一个内置的debugging器,你可以开始 – –inspect 。 这个答案解释它: https : //stackoverflow.com/a/39901169/30946 。 我正在用咖啡标记build立一个摩卡testing。 在testing的顶部,我有: require "../assets/js/theObject.coffee" debugger ss = new TheObject() 我想在该debugging器行停止,因为theObject.coffee的对象没有被加载。 我正在使用节点检查器,它工作,sorta。 我拥有的过程是: 启动节点检查器 在命令行运行testing – mocha –compilers coffee:coffee-script ./test/theObjectTests.coffee –ui bdd -d –debug-brk 转到节点检查器页面,如果它已经打开,则刷新它 等待文件theObject.coffee被加载,然后在正确的行上放置一个断点 必须有一个更简单的方法。 看起来我应该能够运行一个debugging器,并停止在该debugging器线上,但我无法find它。 我有WebStorm,它有一个debugging器( 本文讨论设置它来运行摩卡testing,但它没有帮助我),但是当我启动它,它失败。 在WebStormdebugging窗口中运行的命令是: "C:\Program Files\nodejs\node.exe" –debug-brk=64232 C:\Users\jcollum\AppData\Roaming\npm\_mocha C:\Users\jcollum\AppData\Roaming\npm\_mocha:2 basedir=`dirname "$0"` 我怀疑这可能是一个特定于Windows的问题。 Env:Windows 7,Webstorm,节点0.8.16,摩卡1.7.4,git-bash 问题是:如果你从头开始使用Mocha,debugging器最简单的方法是什么? 易于在这里的关键字。 编辑:因为问这个我已经停止使用Windows,并在Ubuntu工作。 我的摩卡debugging过程(我很less使用)是相同的。

在Moq中重置模拟validation?

设置如下: public interface IFoo { void Fizz(); } [Test] public void A() { var foo = new Mock<IFoo>(MockBehavior.Loose); foo.Object.Fizz(); foo.Verify(x => x.Fizz()); // stuff here foo.Verify(x => x.Fizz(), Times.Never()); // currently this fails } 基本上我想在// stuff hereinput一些代码来使foo.Verify(x => x.Fizz(), Times.Never())通过。 因为这可能构成moq /unit testing滥用,所以我的理由是我可以这样做: [Test] public void Justification() { var foo = new Mock<IFoo>(MockBehavior.Loose); foo.Setup(x => […]