Arhiv oznak: pyscripter

coverage

Coverage.py with PyScripter (& PythonPortable w/ PyPi)

During my Udacity Class CS258 I was introduced to Coverage.py. You can read up on Code Coverage on Wikipedia but I would also recommend the free course on the subject via Udacity.

To get Coverage.py running on your installation, the easiest way is using the console command easy_install. If you are using PythonPortable, you need to navigate to App\Scripts before executing the following command:

1
easy_install coverage

Easy, wasn’t it?

PyScripter is a neat IDE packaged with PythonPortable. It has a feature called External Tools (found under the menu Tools->Tools). To make a neat shortcut you can “Configure Tools..” under the same menu.

Here are two shortcuts, one for running coverage on one file, the other for constructing the HTML:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Tools\Tool11\ExternalTool]
Caption=Coverage
Description=http://nedbatchelder.com/code/coverage/
ApplicationName=$[PythonDir-Short]Scripts\coverage.exe
Parameters=run $[ActiveDoc-Short] $[CmdLineArgs]
WorkingDirectory=$[ActiveDoc-Dir]
ShortCut=0
Context=tcActivePythonFile
SaveFiles=sfActive
ParseTraceback=TRUE
MessagesFormat=$[FileName] $[LineNumber]
ConsoleHidden=FALSE
 
[Tools\Tool12\ExternalTool]
Caption=Coverage HTML
Description=http://nedbatchelder.com/code/coverage/
ApplicationName=$[PythonDir-Short]Scripts\coverage.exe
Parameters=html
WorkingDirectory=$[ActiveDoc-Dir]
ShortCut=0
Context=tcActiveFile
ParseTraceback=TRUE
MessagesFormat=$[FileName] $[LineNumber]
ConsoleHidden=FALSE

Just pasting this inside PyScripter.ini does require some additional fiddling, so I recommend just using the gui. The new commands will appear inside Tools->Tools. The generated HTML will be inside the scripts working directory.

Now go do some coverage testing!