This package integrates Python with the TeamCity Continuous Integration (CI) server. It allows sending "service messages" from Python code. Additionally, it provides integration with the following testing frameworks and tools:
Install using pip:
pip install teamcity-messages
or from source:
python setup.py install
This package uses service messages to report the build status to TeamCity. See https://confluence.jetbrains.com/display/TCDL/Build+Script+Interaction+with+TeamCity for more details
If you wish to use the Python default unittest framework, you should modify the Test runner, e.g.:
import unittest
from teamcity import is_running_under_teamcity
from teamcity.unittestpy import TeamcityTestRunner
class Test(unittest.TestCase):
...
if __name__ == '__main__':
if is_running_under_teamcity():
runner = TeamcityTestRunner()
else:
runner = unittest.TextTestRunner()
unittest.main(testRunner=runner)
See examples/simple.py
for a full example.
If you are used to running unittest from the command line, instead of
using python -m unittest
, you could use
python -m teamcity.unittestpy
.
Test status reporting is enabled automatically under TeamCity build.
Test status reporting is enabled automatically under TeamCity build.
For Django 1.6+: Use the TeamcityDjangoRunner
runner instead of the
default DiscoverRunner
by changing the following setting in your
settings.py:
TEST_RUNNER = "teamcity.django.TeamcityDjangoRunner"
If you are using another test runner, you should override the
run_suite
method or use the DiscoverRunner.test_runner
property
introduced in Django 1.7.
Test status reporting is enabled automatically under TeamCity build.
Add --reporter=teamcity
option to trial command line
- Python 2 - >= 2.4
- Python 3 - >= 3.2
- PyPy and PyPy 3
- Jython
https://github.com/JetBrains/teamcity-messages
TeamCity support: http://www.jetbrains.com/support/teamcity
Apache, version 2.0 http://www.apache.org/licenses/LICENSE-2.0