目前在我的testing中,我做了这样的事情来testing电子邮件是否排队发送 assert_difference('ActionMailer::Base.deliveries.size', 1) do get :create_from_spreedly, {:user_id => @logged_in_user.id} end 但如果ia控制器的行动可以发送两个不同的电子邮件,即一个用户如果注册罚款或通知pipe理员,如果出了问题 – 我怎么能testing哪一个实际得到发送。 上面的代码会通过。
调用org.apache.zookeeper.server.quorum.QuorumPeerMain.main()不起作用。
有没有人能够清楚地定义这些testing级别,因为我发现在进行TDD或unit testing时很难区分。 请如果有人能详细说明,何时执行这些?
我正在使用MSTest ,我想一次为testing类中的所有方法设置相同的testing类别,而不是单独为每个方法设置TestCategory属性。 如何才能做到这一点? 最方便,最明显的方法是在类上设置TestCategory属性,但它只能应用于方法。 最终目标是在TFS签入的testing运行期间跳过集成testing。
任何人都可以build议学习unit testing的书籍或材料吗? 有些人认为没有unit testing的代码是遗留代码。 如今,testing驱动开发是轻松pipe理大型软件项目的方法。 我非常喜欢C ++,我没有经过任何正式的教育就自己学习了。 我从来没有考虑过unit testing,所以觉得被遗漏了。 我认为unit testing是重要的,从长远来看将是有帮助的。 我将不胜感激这个话题的任何帮助。 我关心的主要问题是: 什么是unit testing? 这是一个应该分析的testing用例的综合列表吗? 所以,让我们说,我有一个名为“复杂数字”的类中有一些方法(让我们find共轭,一个重载赋值运算符和一个重载乘法运算符,这样的类应该是典型的testing用例吗?selecttesting用例? 是否有任何框架可以为我创buildunit testing,或者我必须编写自己的类来进行testing? 我在Visual Studio 2008中看到了一个“testing”选项,但从来没有工作。 unit testing的标准是什么? 是否应该为class级中的每个function进行unit testing? 每个class级都有unit testing是否有意义?
很多时候,我发现自己在一个私人的方法之间撕裂,以防止某人在没有意义的情况下调用它(或者搞砸了所涉及的对象的内部状态),或者使方法公开(或通常是内部的)以便将其暴露给unit testing组件。 我只是想知道Stack Overflow社区是怎么想到这个困境的? 所以我想这个问题真的是,关注可testing性还是保持适当的封装是更好的? 最近我一直倾向于可testing性,因为大多数代码只是由一小部分开发人员利用,但我想我会看到其他人都认为是什么?
使用py.test,在不同目录中调用相同的两个testing会导致py.test失败。 这是为什么? 我怎样才能改变这个不重命名所有的testing? 重复做: ; cd /var/tmp/my_test_module ; mkdir -p ook/test ; mkdir -p eek/test ; touch ook/test/test_proxy.py ; touch eek/test/test_proxy.py ; py.test ============================= test session starts ============================== platform linux2 — Python 2.7.3 — pytest-2.2.4 collected 0 items / 1 errors ==================================== ERRORS ==================================== ___________________ ERROR collecting ook/test/test_proxy.py ____________________ import file mismatch: imported module 'test_proxy' […]
我想模拟一个函数(返回一些外部内容)使用python模拟模块(http://www.voidspace.org.uk/python/mock/index.html)。 我有一些麻烦嘲笑导入到模块的function。 例如,在util.py我有 def get_content(): return "stuff" 我想嘲笑util.get_content,以便它返回别的东西。 我正在尝试这个: util.get_content=Mock(return_value="mocked stuff") 如果get_content被另一个模块调用,它实际上似乎不会返回模拟对象。 我错过了如何使用模拟的东西? 请注意,如果我调用以下,事情正常工作: >>> util.get_content=Mock(return_value="mocked stuff") >>> util.get_content() "mocked stuff" 但是,如果从另一个模块内部调用get_content,则会调用原始函数而不是模拟版本: >>> from mymodule import MyObj >>> util.get_content=Mock(return_value="mocked stuff") >>> m=MyObj() >>> m.func() "stuff" mymodule.py的内容 from util import get_content class MyObj: def func(): get_content() 所以我想我的问题是 – 我怎么才能从我调用的模块内调用函数的Mocked版本? 看起来, from module import function可能是在这里指责,因为它不指向模拟function。
我用两种方法为我的unit testing创build了用户: 1)创build一个“auth.user”的夹具,大致看起来像这样: { "pk": 1, "model": "auth.user", "fields": { "username": "homer", "is_active": 1, "password": "sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2", … } } 我忽略了那些看似不重要的部分。 2)在setUp函数中使用'create_user'(虽然我宁愿把所有东西放在我的fixtures类中): def setUp(self): User.objects.create_user('homer', 'ho…@simpson.net', 'simpson') 请注意,在这两种情况下密码都是simpson。 我已经validation了这个信息正确地被一次又一次地加载到testing数据库中。 我可以使用User.objects.get获取User对象。 我可以使用'check_password'validation密码是否正确。 用户处于活动状态。 然而,总是self.client.login(username ='homer',password ='simpson')失败。 我很困惑,为什么。 我想我已经阅读了有关这个的每一个互联网讨论。 任何人都可以帮忙吗? 我的unit testing中的login代码如下所示: login = self.client.login(username='homer', password='simpson') self.assertTrue(login) 谢谢。
我可以使用VS 2010 Profiler来进行unit testing(MSTest)吗? 如果是的话,怎么样? 谢谢,迈克尔