Questions tagged «testing»

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

6
如何使用Jest模拟同一模块中的函数
更新:我在https://github.com/magicmark/jest-how-do-i-mock-x/blob/master/src/function-in-same-module/README中收集了此方法和其他方法。 md 正确模拟以下示例的最佳方法是什么? 问题在于,导入时间过后,foo将原始引用保持不变bar。 module.js: export function bar () { return 'bar'; } export function foo () { return `I am foo. bar is ${bar()}`; } module.test.js: import * as module from '../src/module'; describe('module', () => { let barSpy; beforeEach(() => { barSpy = jest.spyOn( module, 'bar' ).mockImplementation(jest.fn()); }); afterEach(() …

7
Android Instrumentation测试和Android Studio中的单元测试之间的区别?
自Android Studio 1.1rc起,提供了单元测试支持,我想知道Android Instrumentation Tests和Unit测试之间有什么区别。 据我了解: 单元测试对于测试未调用Android API的代码很有用,而Android工具测试则是用于测试特定于Android API的元素或GUI组件的集成测试。 但是,如果在单元测试中使用Robolectric或Mockito之类的框架,那么如果我没有记错的话,可以测试Android代码(无需设备)。 这是正确的还是更大的区别?如果是这样,每个有什么用?

5
RSpec存根方法是否可以按顺序返回不同的值?
我有一个模型家庭模型,该模型location可以合并location其他对象(成员)的输出。(成员与家庭有联系,但这在这里并不重要。) 例如,给定 member_1具有location=='圣地亚哥(旅行,返回5月15日)' member_2具有location=='圣地亚哥' Family.location可能返回“圣地亚哥(member_1出行,5月15日返回)”,具体情况并不重要。 为了简化Family.location的测试,我想对Member.location进行存根。但是,我需要它返回两个不同的(指定的)值,如上例所示。理想情况下,它们将基于的属性member,但是简单地按顺序返回不同的值就可以了。有没有办法在RSpec中做到这一点? 可以在每个测试示例中覆盖Member.location方法,例如 it "when residence is the same" do class Member def location return {:residence=>'Home', :work=>'his_work'} if self.male? return {:residence=>'Home', :work=>'her_work'} end end @family.location[:residence].should == 'Home' end 但是我怀疑这是个好习惯。无论如何,当RSpec运行一系列示例时,它不会还原原始类,因此,这种重写会“毒化”后续示例。 因此,有没有一种方法可以使存根方法在每次调用时返回不同的指定值?


6
测试中没有预期的异常
我想创建NUnit测试以确保我的函数不会引发异常。有什么具体的方法可以做到吗,或者我应该写 [Test] public void noExceptionTest() { testedFunction(); } 如果没有异常抛出,它将成功吗?

11
Haskell函数是否可以通过正确性属性进行证明/模型检查/验证?
继续以下思想:是否存在可证明的现实世界语言? 我不认识你,但是我讨厌写我不能保证的代码。 在问完上述问题并得到了惊人的答复之后(谢谢!),我决定缩小对Haskell的可证明的,务实的方法的搜索范围。我选择Haskell是因为它实际上很有用(为此编写了许多 Web 框架,这似乎是一个不错的基准),而且我认为它在功能上非常严格,可能可以证明,或者至少允许测试不变式。 这就是我想要的(一直找不到) 我想要一个框架,可以查看以psudocode编写的Haskell函数: add(a, b): return a + b -并检查某些不变式是否保持在每个执行状态。我希望有一些正式的证明,但是我会选择模型检查器之类的东西。 在此示例中,不变的是给定值a和b,返回值始终是a + b之和。 这是一个简单的示例,但我认为这样的框架不可能存在。可以测试的函数的复杂度肯定会有一个上限(一个函数的10个字符串输入肯定会花费很长时间!),但这会鼓励更仔细地设计函数,与使用其他形式函数没什么不同方法。想象一下使用Z或B,当您定义变量/集时,您一定要确保为变量提供尽可能小的范围。如果您的INT永远不会超过100,请确保将其初始化!我认为,像这样的技术以及适当的问题分解应该能够令人满意地检查像Haskell这样的纯功能语言。 我对形式方法或Haskell还不是很有经验。让我知道我的想法是否合理,或者您认为haskell不适合?如果您建议使用其他语言,请确保其通过“具有网络框架”测试,并阅读原始问题:-)

20
测试数字是否为斐波那契
我知道如何制作斐波那契数字列表,但我不知道如何测试给定数字是否属于斐波那契列表-一种想到的方法是生成fib列表。直到该数字为止,并查看它是否属于数组,但是必须有另一个更简单,更快速的方法。 有任何想法吗 ?

7
如何在RSpec中多次说“ any_instance”“ should_receive”
我在rails中有一个导入控制器,该控制器将具有多个记录的多个csv文件导入到数据库中。我想在RSpec中测试是否通过使用RSpec实际保存了记录: <Model>.any_instance.should_receive(:save).at_least(:once) 但是我得到错误说: The message 'save' was received by <model instance> but has already been received by <another model instance> 人为的控制器示例: rows = CSV.parse(uploaded_file.tempfile, col_sep: "|") ActiveRecord::Base.transaction do rows.each do |row| mutation = Mutation.new row.each_with_index do |value, index| Mutation.send("#{attribute_order[index]}=", value) end mutation.save end 是否可以使用RSpec对此进行测试,或者有任何解决方法?

8
如何使用Capybara确认JavaScript弹出窗口?
我已经尝试了几个在网上找到的示例,但是没有运气。我希望确认删除链接的确认消息。最后的尝试是下面的代码,但是导致Capybara :: NotSupportedByDriverError错误。 def confirm_dialog page.evaluate_script('window.confirm = function() { return true; }') end


13
Java Swing GUI的自动化测试
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 3年前关闭。 改善这个问题 有哪些选项可以为用Java Swing编写的GUI构建自动化测试? 我想测试一些使用NetBeans Swing GUI生成器编写的GUI,因此理想的方法是不需要对被测代码进行特殊篡改的工作。

3
可以在浏览器中测试React Native应用程序吗?
意识到React Native应用程序旨在使用模拟器进行开发/测试,是否可以使用Web浏览器来测试应用程序? 存在诸如https://rnplay.org/之类的服务,但是我担心的是,它由https://appetize.io/提供支持,它可能受到每月分钟数的限制。与付费屏幕流媒体服务相比,我还想利用免费/开源技术来实现这一目标。 沿着这些思路,为了在浏览器中测试该应用程序,是否要求该应用程序使用一个或多个库,以允许该应用程序既可以在React Native中运行,也可以在React中运行?我想找到一种替代此特定方法的方法,因为我想专门为React Native编写代码。

3
在Python中断言变量类型的正确方法
在使用函数时,我希望确保变量的类型符合预期。怎么做对? 这是一个伪函数示例,尝试在继续其作用之前执行此操作: def my_print(begin, text, end): """Print 'text' in UPPER between 'begin' and 'end' in lower """ for i in (begin, text, end): assert isinstance(i, str), "Input variables should be strings" out = begin.lower() + text.upper() + end.lower() print out def test(): """Put your test cases here! """ assert my_print("asdf", …
72 python  testing  assert 

7
如何测试或模拟“如果__name__ =='__main__'”内容
说我有一个包含以下内容的模块: def main(): pass if __name__ == "__main__": main() 我想为下半部分编写一个单元测试(我想实现100%的覆盖率)。我发现执行导入/设置机制的内置的runpy模块__name__,但无法弄清楚如何模拟或检查main()函数是否被调用。 到目前为止,这是我尝试过的: import runpy import mock @mock.patch('foobar.main') def test_main(self, main): runpy.run_module('foobar', run_name='__main__') main.assert_called_once_with()

14
iPhone自动测试[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我知道这是一个长镜头,但我想我会尝试的。没有人知道任何自动化测试的东西为iPhone模拟器?如果有Selenium之类的东西,但对于iPhone模拟器,我会很喜欢。我不需要像断言这样的花哨的东西,只是可以在屏幕上伪造水龙头的东西,这样我就可以停止滥用触控板。:) 有没有一种方法可以将点击或键盘事件(例如在Android上通过adb发送)到iOS设备?

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.