Questions tagged «unit-testing»

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


8
使用PHPUnit测试受保护方法的最佳实践
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我发现有关“您测试私有方法的信息性” 的讨论。 我已经决定,在某些类中,我想拥有受保护的方法,但要对其进行测试。这些方法中的一些是静态的且简短的。因为大多数公共方法都使用它们,所以我稍后可能会安全地删除测试。但是,为了从TDD方法入手并避免调试,我真的想对其进行测试。 我想到了以下几点: 答案中建议的“ 方法对象 ”对此似乎是过大的。 从公共方法开始,当更高级别的测试提供了代码覆盖范围时,请将其置于保护状态并删除测试。 继承具有可测试接口的类,使受保护的方法公开 哪个是最佳做法?还有别的事吗? 看来,JUnit会自动将受保护的方法更改为公共方法,但我对此没有更深入的了解。PHP不允许通过反射进行此操作。

6
开玩笑的“ it”和“ test”有什么区别?
我的测试组中有两个测试。一个使用它,另一个使用测试,它们的工作方式似乎非常相似。它们之间有什么区别? describe('updateAll', () => { it('no force', () => { return updateAll(TableName, ["fileName"], {compandId: "test"}) .then(updatedItems => { let undefinedCount = 0; for (let item of updatedItems) { undefinedCount += item === undefined ? 1 : 0; } // console.log("result", result); expect(undefinedCount).toBe(updatedItems.length); }) }); test('force update', () => { return …

7
单元测试的新手,如何编写出色的测试?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 改善这个问题 我对单元测试世界还很陌生,所以我决定在本周为现有应用程序增加测试范围。 这是一项艰巨的任务,主要是因为要测试的类数量众多,而且因为编写测试对我而言是全新的。 我已经为很多类编写了测试,但是现在我想知道自己是否做对了。 当我为某个方法编写测试时,我有第二次重写已经在该方法本身中编写的内容的感觉。 我的测试似乎与方法紧密绑定(测试所有代码路径,期望某些内部方法被调用多次,并带有某些参数),以至于即使我重构了该方法,即使该方法的最终行为没有改变。 这只是一种感觉,正如前面所说,我没有测试经验。如果那里有一些经验更丰富的测试人员可以给我一些有关如何为现有应用编写出色测试的建议,将不胜感激。 编辑:非常感谢Stack Overflow,我在不到15分钟的时间内就得到了很多建议,回答了我刚才所做的更多在线阅读时间。

7
Moq第一次和第二次返回值不同
我有一个像这样的测试: [TestCase("~/page/myaction")] public void Page_With_Custom_Action(string path) { // Arrange var pathData = new Mock<IPathData>(); var pageModel = new Mock<IPageModel>(); var repository = new Mock<IPageRepository>(); var mapper = new Mock<IControllerMapper>(); var container = new Mock<IContainer>(); container.Setup(x => x.GetInstance<IPageRepository>()).Returns(repository.Object); repository.Setup(x => x.GetPageByUrl<IPageModel>(path)).Returns(() => pageModel.Object); pathData.Setup(x => x.Action).Returns("myaction"); pathData.Setup(x => x.Controller).Returns("page"); var resolver …
262 c#  unit-testing  nunit  moq 

3
业力与测试框架Jasmine,Mocha,QUnit
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 改善这个问题 几个问题: Karma和测试框架X(Jasmine,Mocha,QUnit)如何相互关联? Java世界中的等效框架是什么?我假设Jasmine,Mocha,QUnit等于jUnit / TestNG。业力呢? 我可以在没有Karma的情况下运行测试框架X(例如Jasmine)吗? Karma是用于单元测试还是集成/ e2e测试?该参考资料显示的是用于单元测试的,但是这表示用于e2e测试。


7
通过命令行从unittest.TestCase运行单个测试
在我们的团队中,我们定义了大多数测试用例,如下所示: 一门“框架”课ourtcfw.py: import unittest class OurTcFw(unittest.TestCase): def setUp: # something # other stuff that we want to use everywhere 还有很多测试用例,例如testMyCase.py: import localweather class MyCase(OurTcFw): def testItIsSunny(self): self.assertTrue(localweather.sunny) def testItIsHot(self): self.assertTrue(localweather.temperature > 20) if __name__ == "__main__": unittest.main() 当我编写新的测试代码并希望经常运行它并节省时间时,我要做的是在所有其他测试之前放置“ __”。但这很麻烦,使我从正在编写的代码中分散了注意力,并且由此产生的提交噪音实在令人讨厌。 因此,例如,当对进行更改时testItIsHot(),我希望能够做到这一点: $ python testMyCase.py testItIsHot 并unittest运行只 testItIsHot() 我该如何实现? 我尝试重写该if __name__ == …

19
NUnit与Visual Studio 2008的单元测试测试项目?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我将要在工作中启动一个新项目,并想进入单元测试。我们将使用VS 2008,C#和ASP.NET MVC。我正在考虑使用NUnit或VS2008具有的内置测试项目,但是我愿意研究其他建议。一个系统是否比另一个系统好,或者比另一个系统更易于使用/理解?我希望将这个项目设置为“最佳实践”,以进行我们的开发工作。 感谢您的帮助和建议!

7
在不运行单元测试的情况下构建Maven项目
如何在不运行单元测试的情况下构建Maven项目? 目前正在重组我用于Servlet的一些代码,并想在我的Web浏览器中尝试一下(这意味着要运行mvn install以将.war其上传到Tomcat)。我完全知道我的UNIT测试失败了,对此我很好,因为一旦我有了所需的代码,我就会对其进行修复。有人可以建议吗?

14
获取JUnit 4中当前正在执行的测试的名称
在JUnit 3中,我可以这样获得当前正在运行的测试的名称: public class MyTest extends TestCase { public void testSomething() { System.out.println("Current test is " + getName()); ... } } 它将显示“当前测试为testSomething”。 JUnit 4中是否有任何现成的或简单的方法可以做到这一点? 背景:显然,我不想只打印测试的名称。我要加载存储在与测试名称相同的资源中的特定于测试的数据。您知道,约定优于配置以及所有这些。
240 java  unit-testing  junit 


25
如何在python中生成动态(参数化)单元测试?
我有某种测试数据,并且想为每个项目创建一个单元测试。我的第一个想法是这样做: import unittest l = [["foo", "a", "a",], ["bar", "a", "b"], ["lee", "b", "b"]] class TestSequence(unittest.TestCase): def testsample(self): for name, a,b in l: print "test", name self.assertEqual(a,b) if __name__ == '__main__': unittest.main() 这样做的缺点是它可以在一次测试中处理所有数据。我想即时为每个项目生成一个测试。有什么建议?

18
pytest的PATH问题“ ImportError:没有名为YadaYadaYada的模块”
我使用easy_install在Mac上安装pytest,并开始为文件结构像这样的项目编写测试: repo/ repo/app.py repo/settings.py repo/models.py repo/tests/ repo/tests/test_app.py py.test在repo目录中运行时,所有行为均符合您的预期 但是,当我在linux或Windows上尝试相同的操作时(两者上都装有pytest 2.2.3),只要它从我的应用程序路径中首次导入某些内容,它就会发出吠声。举例来说from app import some_def_in_app 我是否需要编辑PATH才能在这些系统上运行py.test?有人经历过吗?

30
为什么Visual Studio 2012找不到我的测试?
我有一些使用内置测试Microsoft.VisualStudio.TestTools.UnitTesting,但无法运行它们。 我正在使用Visual Studio 2012 Ultimate。 我有两个项目的解决方案;一个具有测试,using Microsoft.VisualStudio.TestTools.UnitTesting,[TestClass]前级, [TestMethod]前测试方法与参考Microsoft.VisualStudio.QualityTools.UnitTestFramework(版本10.0.0.0,运行时版本V2.0.50727)。我已经尝试过点网框架3.5、4和4.5,其他给出了重新定位错误。 我试图建立解决方案和项目。测试浏览器显示消息“构建解决方案以发现所有可用测试。单击“全部运行”以构建,发现并运行解决方案中的所有测试。 因此问题是:如何让Visual Studio查找测试? 还尝试遵循以下方法:http : //msdn.microsoft.com/zh-CN/library/ms379625%28v=VS.80%29.aspx但没有成功:当被问到以下问题时,我陷入了入门的这一节右键单击并选择create tests。没有create tests。 我有这个测试(它可以编译,但不会显示在测试浏览器中): using Microsoft.VisualStudio.TestTools.UnitTesting; namespace tests { [TestClass] public class SimpleTest { [TestMethod] public void Test() { Assert.AreEqual("a","a", "same"); } } } 我现在发现(请参阅下面的删除的答案),这是因为它位于共享驱动器上,但是我还不知道如何解决它。(有关安全性设置的信息)。

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.