Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
D
django
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
django
Commits
09d38746
Kaydet (Commit)
09d38746
authored
Haz 19, 2016
tarafından
Tobias McNulty
Kaydeden (comit)
Tim Graham
Tem 20, 2016
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Fixed #22446 -- Added tox.ini to automate pull request checks.
üst
3ea7167b
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
144 additions
and
0 deletions
+144
-0
.gitignore
.gitignore
+1
-0
coding-style.txt
docs/internals/contributing/writing-code/coding-style.txt
+4
-0
javascript.txt
docs/internals/contributing/writing-code/javascript.txt
+2
-0
unit-tests.txt
docs/internals/contributing/writing-code/unit-tests.txt
+67
-0
spelling_wordlist
docs/spelling_wordlist
+1
-0
tox.ini
tox.ini
+69
-0
No files found.
.gitignore
Dosyayı görüntüle @
09d38746
...
...
@@ -5,6 +5,7 @@
*.egg-info
*.pot
*.py[co]
.tox/
__pycache__
MANIFEST
dist/
...
...
docs/internals/contributing/writing-code/coding-style.txt
Dosyayı görüntüle @
09d38746
...
...
@@ -4,6 +4,8 @@ Coding style
Please follow these coding standards when writing code for inclusion in Django.
.. _coding-style-python:
Python style
============
...
...
@@ -51,6 +53,8 @@ Python style
(``six.assertRaisesRegex()`` as long as we support Python 2) only if you need
to use regular expression matching.
.. _coding-style-imports:
Imports
=======
...
...
docs/internals/contributing/writing-code/javascript.txt
Dosyayı görüntüle @
09d38746
...
...
@@ -60,6 +60,8 @@ Closure Compiler library requires `Java`_ 7 or higher.
Please don't forget to run ``compress.py`` and include the ``diff`` of the
minified scripts when submitting patches for Django's JavaScript.
.. _javascript-tests:
JavaScript tests
================
...
...
docs/internals/contributing/writing-code/unit-tests.txt
Dosyayı görüntüle @
09d38746
...
...
@@ -45,6 +45,73 @@ See :ref:`installing-development-version`.
Having problems? See :ref:`troubleshooting-unit-tests` for some common issues.
Running tests using ``tox``
---------------------------
`Tox <http://tox.testrun.org/>`_ is a tool for running tests in different
virtual environments. Django includes a basic ``tox.ini`` that automates some
checks that our build server performs on pull requests. To run the unit tests
and other checks (such as :ref:`import sorting <coding-style-imports>`, the
:ref:`documentation spelling checker <documentation-spelling-check>`, and
:ref:`code formatting <coding-style-python>`), install and run the ``tox``
command from any place in the Django source tree::
$ pip install tox
$ tox
By default, ``tox`` runs the test suite with the bundled test settings file for
SQLite, ``flake8``, ``isort``, and the documentation spelling checker. In
addition to the system dependencies noted elsewhere in this documentation,
the commands ``python2`` and ``python3`` must be on your path and linked to
the appropriate versions of Python. A list of default environments can be seen
as follows::
$ tox -l
py3
flake8
docs
isort
Testing other Python versions and database backends
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In addition to the default environments, ``tox`` supports running unit tests
for other versions of Python and other database backends. Since Django's test
suite doesn't bundle a settings file for database backends other than SQLite,
however, you must :ref:`create and provide your own test settings
<running-unit-tests-settings>`. For example, to run the tests on Python 3.5
using PostgreSQL::
$ tox -e py35-postgres -- --settings=my_postgres_settings
This command sets up a Python 3.5 virtual environment, installs Django's
test suite dependencies (including those for PostgreSQL), and calls
``runtests.py`` with the supplied arguments (in this case,
``--settings=my_postgres_settings``).
The remainder of this documentation shows commands for running tests without
``tox``, however, any option passed to ``runtests.py`` can also be passed to
``tox`` by prefixing the argument list with ``--``, as above.
Tox also respects the ``DJANGO_SETTINGS_MODULE`` environment variable, if set.
For example, the following is equivalent to the command above::
$ DJANGO_SETTINGS_MODULE=my_postgres_settings tox -e py35-postgres
Running the JavaScript tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Django includes a set of :ref:`JavaScript unit tests <javascript-tests>` for
functions in certain contrib apps. The JavaScript tests aren't run by default
using ``tox`` because they require `Node.js` to be installed and aren't
necessary for the majority of patches. To run the JavaScript tests using
``tox``::
$ tox -e javascript
This command runs ``npm install`` to ensure test requirements are up to
date and then runs ``npm test``.
.. _running-unit-tests-settings:
Using another ``settings`` module
...
...
docs/spelling_wordlist
Dosyayı görüntüle @
09d38746
...
...
@@ -841,6 +841,7 @@ Tomek
toolbar
toolkits
toolset
Tox
trac
tracebacks
transactional
...
...
tox.ini
0 → 100644
Dosyayı görüntüle @
09d38746
# Tox (http://tox.testrun.org/) is a tool for running tests in multiple
# virtualenvs. This configuration file helps to run the test suite on all
# supported Python versions. To use it, "pip install tox" and then run "tox"
# from this directory.
[tox]
skipsdist
=
true
envlist
=
py3
flake8
docs
isort
# Add environments to use default python2 and python3 installations
[testenv:py2]
basepython
=
python2
[testenv:py3]
basepython
=
python3
[testenv]
usedevelop
=
true
passenv
=
DJANGO_SETTINGS_MODULE
deps
=
py{2,27}:
-rtests/requirements/py2.txt
py{3,34,35}:
-rtests/requirements/py3.txt
postgres:
-rtests/requirements/postgres.txt
mysql:
-rtests/requirements/mysql.txt
oracle:
-rtests/requirements/oracle.txt
changedir
=
tests
commands
=
{envpython}
runtests.py
{posargs}
[testenv:flake8]
basepython
=
python3
usedevelop
=
false
deps
=
flake8
changedir
=
{toxinidir}
commands
=
flake8 .
[testenv:docs]
# On OS X, as of pyenchant 1.6.6, the docs build only works under Python 2.
basepython
=
python2
usedevelop
=
false
whitelist_externals
=
make
deps
=
Sphinx
pyenchant
sphinxcontrib-spelling
changedir
=
docs
commands
=
make
spelling
[testenv:isort]
basepython
=
python3
usedevelop
=
false
deps
=
isort
changedir
=
{toxinidir}
commands
=
isort --recursive --check-only --diff django tests scripts
[testenv:javascript]
usedevelop
=
false
deps
=
changedir
=
{toxinidir}
whitelist_externals
=
npm
commands
=
npm
install
npm
test
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment