标签: unit-testing

如何测试私有函数或具有私有方法,字段或内部类的类?

如何对具有内部私有方法,字段或嵌套类的类进行单元测试(使用xUnit)?或者通过内部链接(static在C/C++中)或在私有(匿名)命名空间中使其成为私有的函数?

为了能够运行测试而更改方法或函数的访问修饰符似乎很糟糕.

java tdd unit-testing

2593
推荐指数
36
解决办法
82万
查看次数

如何使用mockito模拟void方法

如何用void返回类型模拟方法?

我实现了一个观察者模式,但我无法用Mockito模拟它,因为我不知道如何.

我试图在互联网上找到一个例子,但没有成功.

我的班级看起来像

public class World {

    List<Listener> listeners;

    void addListener(Listener item) {
        listeners.add(item);
    }

    void doAction(Action goal,Object obj) {
        setState("i received");
        goal.doAction(obj);
        setState("i finished");
    }

    private string state;
    //setter getter state
} 

public class WorldTest implements Listener {

    @Test public void word{
    World  w= mock(World.class);
    w.addListener(this);
    ...
    ...

    }
}

interface Listener {
    void doAction();
}
Run Code Online (Sandbox Code Playgroud)

系统不会通过模拟触发.=(我想显示上面提到的系统状态.并根据它们做出断言.

java unit-testing mocking void mockito

875
推荐指数
9
解决办法
73万
查看次数

单元测试C代码

今年夏天,我用直接C编写了一个嵌入式系统.这是我工作的公司接管的现有项目.我已经习惯于使用JUnit在Java中编写单元测试,但是对于为现有代码(需要重构)编写单元测试的最佳方法以及添加到系统中的新代码感到茫然.

有没有办法让单元测试普通的C代码像使用JUnit进行单元测试Java代码一样简单?任何专门针对嵌入式开发(交叉编译到arm-linux平台)的见解都将非常感激.

c testing embedded unit-testing

836
推荐指数
18
解决办法
38万
查看次数

783
推荐指数
14
解决办法
47万
查看次数

用于TDD的JavaScript单元测试工具

我已经研究并考虑了许多JavaScript单元测试和测试工具,但一直无法找到合适的选项来保持完全符合TDD标准.那么,是否有一个完全符合TDD标准的JavaScript单元测试工具?

javascript tdd unit-testing

717
推荐指数
9
解决办法
53万
查看次数

如何从字符串生成流?

我需要为一个方法编写单元测试,该方法接受来自文本文件的流.我想做这样的事情:

Stream s = GenerateStreamFromString("a,b \n c,d");
Run Code Online (Sandbox Code Playgroud)

c# string unit-testing stream

710
推荐指数
12
解决办法
51万
查看次数

你如何测试Python函数抛出异常?

如果一个函数没有抛出预期的异常,那么如何编写一个单元测试失败?

python unit-testing exception-handling exception

695
推荐指数
15
解决办法
37万
查看次数

什么是单元测试,集成测试,烟雾测试,回归测试?

什么是单元测试,集成测试,烟雾测试,回归测试以及它们之间有什么区别?我可以为每个工具使用哪些工具?

例如,我使用JUnit和NUnit进行单元测试和集成测试.有没有烟雾测试或回归测试工具?

testing unit-testing definition

688
推荐指数
12
解决办法
28万
查看次数

我该如何对线程代码进行单元测试?

到目前为止,我已经避免了测试多线程代码的噩梦,因为它看起来像是一个雷区太多了.我想问一下人们如何测试依赖线程成功执行的代码,或者人们如何测试那些只在两个线程以给定方式交互时出现的问题?

对于今天的程序员来说,这似乎是一个非常关键的问题,将我们的知识集中在这个imho上是有用的.

multithreading unit-testing

673
推荐指数
16
解决办法
15万
查看次数

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

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

以下是我如何使用它们:

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

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

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

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

unit-testing terminology mocking stub definition

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