如何在PyCharm中运行特定测试

如何在PyCharm中运行特定测试

问题描述:

我在一个文件中有60个功能测试。我用Notepad ++编写了它们,并使用py.test作为测试框架。今天我决定用PyCharm交换Notepad ++。我从PyCharm打开我的PyCharm功能测试文件,并运行测试,你可以在图片中看到:如何在PyCharm中运行特定测试

enter image description here

现在,确认我可以运行所有的测试后,我试图运行一个单独的测试,例如test_login_with_extantUser_using_email。在逻辑上,我右键单击测试,期待“运行测试”按钮或类似的出现。但是没有出现这样的事情。事实上,似乎没有办法通过简单地右击它来运行单个测试。

所以我的问题是,我该如何运行一个单独的测试?我必须为编辑配置菜单中的每一个设置配置吗?这需要很长时间,考虑到我有60个测试。

enter image description here

+0

你试试这个吗? => https://stackoverflow.com/questions/36079152/run-a-specific-unit-test-function-inside-pycharm-ide-5-0-4 – shotgunner

+0

它值得尝试删除配置然后再试一次。 –

+0

嘿家伙,我随机尝试不同的事情。不知怎的,我设法得到一类测试,而不是所有的测试,运行。我不知道我做了什么。我会尽力弄清楚。 – JRG

我发现了问题。这是Pycharm中的一个错误,需要修复。我会解释这个错误。

如果测试不是从unittest.TestCase继承的类的成员,则单击右键单个测试将不会显示运行测试的选项。即使你没有使用单元测试,在我使用py.test的情况下也是如此。

当我使我的py.test测试类从unittest.TestCase继承时,我可以选择单独运行测试时,我右键单击测试。

我已经向Pycharm报告了这个错误。时间会告诉他们是否修复它。 https://youtrack.jetbrains.com/issue/PY-26754

基于pt.test doc您可以指定特定的test_case以-k(这意味着关键字很明显)运行。在你的情况下,它应该像pytest -k "test_login_with_extantUser_using_email",如果你在CLI中运行。

如果您想使用Pycharm运行特定的测试,则必须在运行/调试配置中填写“关键字”字段。 enter image description here

最好的问候。