Questions tagged «unit-testing»

单元测试是一种测试源代码的各个单元以确定它们是否适合使用的方法。


10
如何使用Mockito模拟void方法
如何用void返回类型模拟方法? 我实现了一个观察者模式,但是我无法用Mockito对其进行模拟,因为我不知道如何做。 我试图在Internet上找到一个例子,但没有成功。 我的课看起来像这样: 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); ... ... …

30
单元测试C代码
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 我今年夏天用C语言编写了一个嵌入式系统。这是我工作的公司接手的一个现有项目。我已经非常习惯于使用JUnit在Java中编写单元测试,但是对于为现有代码(需要重构)以及添加到系统中的新代码编写单元测试的最佳方法感到困惑。 是否有任何项目可以像使用JUnit对Java代码进行单元测试那样简单地对普通C代码进行单元测试?非常感谢任何专门用于嵌入式开发(对arm-linux平台进行交叉编译)的见解。





13
TDD的JavaScript单元测试工具
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我研究并考虑了许多JavaScript单元测试和测试工具,但一直无法找到合适的选项来保持与TDD的完全兼容。那么,是否有一个完全符合TDD的JavaScript单元测试工具?

11
伪造,嘲笑和存根之间有什么区别?
我知道我如何使用这些术语,但是我想知道是否存在用于单元测试的伪造,模拟和存根的定义?您如何为测试定义这些?描述您可能会使用每种情况的情况。 这是我的用法: Fake:实现接口但包含固定数据且没有逻辑的类。只需根据实现返回“好”或“坏”数据。 Mock:实现接口的类,并允许动态设置要返回的值/从特定方法抛出的异常,并提供检查是否已调用特定方法的能力。 存根(Stub):类似于模拟类,不同之处在于它不提供验证方法是否已被调用的能力。 模拟和存根可以手动生成,也可以由模拟框架生成。伪类是手工生成的。我主要使用模拟来验证我的类和依赖类之间的交互。一旦验证了交互作用并测试了代码中的替代路径,便会使用存根。我主要使用伪造的类来抽象出数据依赖关系,或者当模拟/存根过于繁琐而无法每次设置时。

26
我应该如何对线程代码进行单元测试?
到目前为止,我已经避免了测试多线程代码的噩梦,因为它似乎就像雷区一样。我想问人们如何去测试依赖于线程的代码才能成功执行,或者人们如何去测试仅当两个线程以给定方式交互时才会出现的那些类型的问题? 对于当今的程序员来说,这似乎是一个非常关键的问题,将我们的知识集中在这一恕我直言中将很有用。

21
使用典型的测试目录结构运行unittest
即使是一个简单的Python模块,最常见的目录结构似乎也是将单元测试分成各自的test目录: new_project/ antigravity/ antigravity.py test/ test_antigravity.py setup.py etc. 例如,请参见此Python项目howto。 我的问题是,实际上运行测试的通常方法是什么?我怀疑这对除我以外的所有人来说都是显而易见的,但是您不能仅从python test_antigravity.pytest目录运行,import antigravity因为模块不在路径上,它将失败。 我知道我可以修改PYTHONPATH和其他与搜索路径有关的技巧,但我不敢相信这是最简单的方法-如果您是开发人员,这很好,但如果用户只是想检查测试结果,就不能期望用户使用通过。 另一种选择是将测试文件复制到另一个目录中,但似乎有点愚蠢,并且错过了将它们放在一个单独目录中的意义。 那么,如果您刚刚将源代码下载到我的新项目中,将如何运行单元测试?我希望有一个答案让我对用户说:“要运行单元测试,请执行X。”

30
单元测试的合理代码覆盖率是多少(为什么)?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 如果您要为单元测试规定最小百分比的代码覆盖率,甚至可能要求作为提交到存储库的要求,那将是什么? 请说明您是如何得出答案的(因为如果您所做的只是选择一个号码,那么我本来可以自己完成所有的事情;)

30
单元测试值得吗?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我正在将单元测试集成到我所工作的团队的开发过程中,对此有些怀疑。有什么好的方法可以使怀疑的开发人员相信团队中单元测试的价值?在我的特定情况下,我们将在添加功能或修复错误时添加单元测试。不幸的是,我们的代码库无法使其易于测试。
572 unit-testing 

12
单元测试命名最佳实践
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 命名单元测试类和测试方法的最佳实践是什么? 之前,在SO上讨论了哪些流行的单元测试命名约定? 我不知道这是否是一个很好的方法,但是目前在我的测试项目中,我在每个生产类和一个测试类(例如Product和)之间都有一对一的映射ProductTest。 在测试类中,我有一些方法,这些方法带有要测试的方法的名称,下划线,然后是情况和我希望发生的事情,例如Save_ShouldThrowExceptionWithNullName()。

7
用Python编写单元测试:如何开始?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我用Python完成了第一个适当的项目,现在的任务是为它编写测试。 由于这是我第一次做项目,所以这是我第一次为此编写测试。 问题是,我该如何开始?我真的一点儿都不知道。谁能指出我一些可以用来开始编写测试的文档/教程/链接/书(尤其是单元测试) 关于该主题的任何建议都将受到欢迎。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.