Questions tagged «testing»

软件测试是旨在评估程序或系统的属性或功能并确定其满足要求的结果的任何活动。


5
使用Mockito时,嘲笑和间谍有什么区别?
使用Mockito间谍的用例是什么? 在我看来,每个间谍用例都可以使用callRealMethod进行模拟处理。 我可以看到的一个区别是,如果您希望大多数方法调用都是真实的,则可以节省一些代码行以使用模拟与间谍。是这样还是我错过了更大的前景?
137 java  testing  mocking  mockito 

8
轻松清理sinon存根
有没有一种方法可以轻松重置所有可与Mocha的beforeEach块完美配合的s​​inon间谍模拟和存根。 我看到沙盒是一个选项,但是我看不到如何使用沙盒 beforeEach -> sinon.stub some, 'method' sinon.stub some, 'mother' afterEach -> # I want to avoid these lines some.method.restore() some.other.restore() it 'should call a some method and not other', -> some.method() assert.called some.method

10
用python练习BDD [关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 python有哪些最先进的框架和工具可用于实践行为驱动开发?尤其是找到与rspec和mocha类似的工具来进行红宝石搜索将是很棒的。
133 python  testing  bdd 

8
所有的Ruby测试提高:nil:NilClass的未定义方法“ authenticate”
我的大部分测试都提出了以下问题,但我不明白为什么。所有方法调用都会引发“身份验证”错误。我已经检查了代码中是否存在一种称为“ authenticate”的方法,但是没有这种方法。 1) Admin::CommentsController handling GET to index is successful Failure/Error: get :index undefined method `authenticate!' for nil:NilClass # ./spec/controllers/admin/comments_controller_spec.rb:9:in `block (3 levels) in <top (required)>' 124) PostsController handling GET for a single post should render show template Failure/Error: get :show, :year => '2008', :month => '01', :day => '01', …

11
集成测试和功能测试有什么区别?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 改善这个问题 功能测试和集成测试是否相同? 您从单元测试开始测试,然后完成单元测试,然后进行集成测试,在此测试整个系统。功能测试与集成测试一样吗?您仍然需要将系统作为一个整体,并对其功能一致性进行测试。
132 testing 

6
结合测试/ QA流程的Git分支策略
我们的开发团队一直在使用GitFlow分支策略,这非常棒! 最近,我们招募了一些测试人员来提高我们的软件质量。这个想法是每个功能都应该由测试人员进行测试/质量检查。 过去,开发人员在单独的要素分支上处理要素,并develop在完成后将其合并回分支。开发人员将自己在该feature分支上测试其工作。现在有了测试人员,我们开始问这个问题 测试人员应在哪个分支上测试新功能? 显然,有两种选择: 在单个要素分支上 在develop树枝上 测试开发分支 最初,我们认为这是肯定的方法,因为: develop自从开发开始,就将该功能与合并到分支的所有其他功能进行了测试。 可以早于任何时间检测到任何冲突 这使测试人员的工作变得容易,他始终只处理一个分支(develop)。他不需要询问开发人员哪个功能是哪个分支(功能分支是由相关开发者专有和自由管理的个人分支)。 最大的问题是: 该develop分支被错误污染。 当测试人员发现错误或冲突时,他会将错误报告给开发人员,由开发人员在开发分支上修复该问题(功能分支在合并后就被废弃了),此后可能需要进行更多修复。多个子序列的提交或合并(如果develop再次从分支上重新创建分支以修复错误),develop如果可能的话,使从分支回滚功能非常困难。develop在不同时间有多个功能合并并固定在分支上。当我们要创建仅包含develop分支中某些功能的发行版时,这会带来一个大问题 在功能分支上测试 因此,我们再次考虑并决定应该在功能分支上测试功能。在测试之前,我们将develop分支之间的更改合并到功能分支(赶上develop分支)。这很好: 您仍然可以与主流的其他功能一起测试该功能 进一步的开发(例如,错误修复,解决冲突)不会污染develop分支。 您可以轻松地决定不发布该功能,除非对其进行了全面测试和批准; 但是,有一些缺点 测试人员必须合并代码,如果有冲突(很有可能),他必须向开发人员寻求帮助。我们的测试人员专门从事测试,无法编码。 一个功能可以在不存在另一个新功能的情况下进行测试。例如,功能A和功能B都同时在测试中,由于这两个功能都没有合并到develop分支中,因此这两个功能互不了解。这意味着develop无论如何,当两个功能都合并到develop分支时,您将不得不再次对该分支进行测试。而且您必须记住将来要进行测试。 如果功能A和功能B均经过测试和批准,但在合并时发现冲突,则两个功能的开发人员都认为这不是他自己的错/工作,因为他的功能分支通过了测试。通信中存在额外的开销,有时解决冲突的人都会感到沮丧。 以上是我们的故事。在资源有限的情况下,我想避免在任何地方进行所有测试。我们仍在寻找更好的方法来解决这一问题。我很想听听其他团队如何处理这种情况。
131 git  testing  qa  git-flow 

3
我如何阅读伊斯坦布尔报道报告?
我一直使用Jasmine进行单元测试,但是最近我开始使用Istanbul给我代码覆盖率报告。我的意思是我得到的要点是什么,他们是想告诉我,但我真的不知道这些百分比代表(撑条,树枝,funcs中,线)。到目前为止,谷歌搜索我一直找不到可靠的解释/资源。 问题:就像我说的那样,它的要旨是什么,但是有人可以发布正确的解释或指向正确解释的链接吗? 第三级问题:有什么方法可以确定代码的哪些特定部分未被涵盖?到目前为止,我基本上没有猜测这个报告。 -------------------|-----------|-----------|-----------|-----------| File | % Stmts |% Branches | % Funcs | % Lines | -------------------|-----------|-----------|-----------|-----------| controllers/ | 88.1 | 77.78 | 78.57 | 88.1 | dashboard.js | 88.1 | 77.78 | 78.57 | 88.1 | -------------------|-----------|-----------|-----------|-----------| All files | 88.1 | 77.78 | 78.57 | 88.1 | …

6
与Node.js一起使用的最佳测试框架是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 我在https://github.com/ry/node/wiki/modules#testing查看了相当长的测试框架列表。这些框架的经验是什么? 显然,在浏览器中运行的功能将是一项很大的好处,但是我主要对Node.js感兴趣。高度异步的东西会很棒。

9
如何开发和测试发送电子邮件的应用程序(而不用测试数据填充某人的邮箱)?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我有很多发送电子邮件的应用程序。有时一次是一两个消息。有时是成千上万条消息。 在开发中,我通常通过用自己的地址替换任何收件人地址来进行测试。我确信这是其他人所做的,直到他们厌倦了它并找到更好的解决方案。 我正在考虑创建一个虚拟的SMTP服务器,该服务器仅捕获消息并将其转储到SQLLite数据库,mbox文件或任何其他文件中。 但是肯定有这样的工具吗?您如何测试发送电子邮件?

11
覆盖Java System.currentTimeMillis以测试对时间敏感的代码
System.currentTimeMillis除了在主机上手动更改系统时钟外,是否可以通过代码或JVM参数覆盖通过(通过)显示的当前时间? 一点背景: 我们有一个系统,该系统运行许多会计工作,这些工作围绕其当前日期(即每月的1号,每年的1号等)进行逻辑转换。 不幸的是,许多传统代码都调用诸如new Date()或的函数Calendar.getInstance(),而这两个函数最终都调用到System.currentTimeMillis。 出于测试目的,现在,我们不得不手动更新系统时钟,以操纵代码认为正在运行测试的时间和日期。 所以我的问题是: 有没有办法覆盖返回的内容System.currentTimeMillis?例如,要告诉JVM在从该方法返回之前自动添加或减去一些偏移量? 提前致谢!
129 java  testing  jvm  systemtime 

6
如何使用“测试”包在Go测试中打印?
我正在Go中运行一个带有打印内容的语句的测试(即用于测试的调试),但是它不打印任何内容。 func TestPrintSomething(t *testing.T) { fmt.Println("Say hi") } 当我对此文件运行go test时,输出为: ok command-line-arguments 0.004s 据我所知,真正使其打印的唯一方法是通过t.Error()进行打印,如下所示: func TestPrintSomethingAgain(t *testing.T) { t.Error("Say hi") } 哪个输出: Say hi --- FAIL: TestPrintSomethingAgain (0.00 seconds) foo_test.go:35: Say hi FAIL FAIL command-line-arguments 0.003s gom: exit status 1 我已经用Google搜索并浏览了手册,但没有找到任何东西。
129 testing  go 

10
如何在rspec请求规范中设置请求标头?
在控制器规格中,我可以这样设置http accept报头: request.accept = "application/json" 但在请求规范中,“ request”对象为nil。那我怎么在这里呢? 我想将http accept标头设置为json的原因是可以这样做: get '/my/path' 代替这个 get '/my/path.json'

6
Junit:拆分集成测试和单元测试
我继承了Junit测试的负载,但是这些测试(除了大多数无法正常工作的测试)是实际单元测试和集成测试(需要外部系统,数据库等)的混合。 因此,我正在尝试一种将它们实际分离出来的方法,以便可以快速好地运行单元测试,然后进行集成测试。 选项是.. 将它们分成单独的目录。 从v3迁移到Junit4,并注释类以将它们分开。 使用文件命名约定来告诉类是什么,即AdapterATest和AdapterAIntergrationTest。 3的问题是Eclipse可以选择“运行所选项目/程序包或文件夹中的所有测试”。因此,仅运行集成测试将非常困难。 2:冒着开发人员可能开始在单元测试类中编写集成测试的风险,并且变得一团糟。 1:似乎是最巧妙的解决方案,但是我的直觉说必须有更好的解决方案。 这就是我的问题,您如何将集成测试和适当的单元测试分开?

13
如何选中水豚中的复选框?
我正在使用Rspec和Capybara。 如何编写检查步骤checkbox?我已经尝试过check通过价值,但找不到我的checkbox。我不确定该怎么办,因为我实际上拥有相同的ID,但值不同 这是代码: <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="61" name="cityID"> <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="62" name="cityID"> <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="63" name="cityID">

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.