PyCharm - run a corresponding unit test each time a file is saved

瘦欲@ 提交于 2019-12-09 06:54:16

问题


I have just switched over to using PyCharm as my primary Python editor, and am curious to know how I can configure it so that every time I save a file, that the unit-test corresponding to the modified file will be run? (after poking around the documentation, I have not found a clear explanation of how to do this)


回答1:


You can try File Watchers plugin to execute task on files modification.

example config:




回答2:


When you run a unittest you get a new unittest window. In this window there's a button where you can toggle auto-testing on and off, see below. You can set the auto-test delay as well (look for the gear-icon in the same window.




回答3:


Here is the way that I decided to accomplish my objective.

I use file watchers (PyCharm->Preferences->File Watchers) to monitor the python source files for modifications. Source files are located in a directory called src. For my purposes, each unit test is located in a directory that is parallel to the src directory called test_src, in which each file src/[file_name].py will have an associated test file called test_src/test_[file_name].py. Unit tests will by run by py.test.

To accomplish this, I use the following setup in the File Watchers dialog:

File type: "Python Files"
Scope: "Only watch files in src directory"
Program: /usr/local/bin/py.test
Arguments: $ProjectFileDir$/test_src/test_$FileName$
Working directory: $ProjectFileDir$

I also unchecked "Immediate file synchronization" as I only want to run the unit tests when the file is saved.

Note that the "Scope" is used for specifying which files will be monitored.



来源:https://stackoverflow.com/questions/25981034/pycharm-run-a-corresponding-unit-test-each-time-a-file-is-saved

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!