You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+4-37
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ For pull request with notable file changes or a big feature developmennt, we hig
30
30
31
31
#### Git Desktop
32
32
33
-
Git command veterans might argue that a simple terminal and cherry switch powered keyboard is the most elegant solution. But in general, a desktop tool makes the task easier.
33
+
Git command veterans might argue that a simple terminal and a cherry switch keyboard is the most elegant solution. But in general, a desktop tool makes the task easier.
34
34
35
35
1.https://www.gitkraken.com/git-client
36
36
2.https://desktop.github.com/
@@ -59,23 +59,12 @@ Emojis make the commit messages :cherry_blossom:. If you have no idea about what
59
59
-:space_invader:`:space_invader:` - Too much space or too little.
60
60
-:spaghetti:`:spaghetti:` - copy-pasta, used to signal code that was copy-pasted without being updated
61
61
62
-
## Testing before your first push
63
-
64
-
You can use [circleci local cli](https://circleci.com/docs/2.0/local-cli/) to **locally** test your branch before pushing it to origin `plotly/dash`, doing so leaves no chance of making an embarrasing public exposé.
65
-
66
-
```bash
67
-
# install the cli (first time only)
68
-
$ curl -fLSs https://circle.ci/cli | bash && circleci version
69
-
70
-
# trigger a local circleci container session
71
-
# you should run at least one python version locally
72
-
# note: the current config requires all tests pass on python 2.7, 3.6 and 3.7.
73
-
$ circleci local execute --job python-3.6
74
-
```
75
62
### Coding Style
76
63
77
64
We use both `flake8` and `pylint` for basic linting check, please refer to the relevant steps in `.circleci/config.yml`.
78
65
66
+
Note that we also start using [`black`](https://black.readthedocs.io/en/stable/) as formatter during the test code migration.
67
+
79
68
## Tests
80
69
81
70
We started migrating to [pytest](https://docs.pytest.org/en/latest/) from `unittest` as our test automation framework. You will see more testing enhancements in the near future.
@@ -88,30 +77,8 @@ Note: *You might find out that we have more integration tests than unit tests in
88
77
89
78
### Integration Tests
90
79
91
-
We create various miminal dash apps to cover feature scenario. A server is launched in mutli-thread or multi-process flavor and the test steps are executed in browsers driving by selenium webdrivers.
92
-
93
-
Any reasonable test scenario is encouraged to be added along with the same PR.
94
-
95
-
### Visual regression with Percy
80
+
We introduced the `dash.testing` feature in [Dash 1.0](https://community.plot.ly/t/announcing-dash-testing/24868). It makes writing a Dash integration test much easier. Please read the [tutorial](http://dash.plot.ly/testing) and add relevant integration tests with any new features or bug fixes.
96
81
97
-
Testing graph-intensive-application is a challenging job. We use [percy](https://percy.io/) to mitigate the pain, please pay attention if percy reports visual differences. If you are not sure whether the change is expected, leave a comment, and don't blind-approve it.
98
-
99
-
100
-
## Test variable tips
101
-
You can configure the test server with the following variables:
102
-
103
-
### DASH_TEST_CHROMEPATH
104
-
If you run a special chrome, set the path to your chrome binary with this environment variable.
105
-
106
-
### DASH_TEST_PROCESSES
107
-
If you encounter errors about Multi-server + Multi-processing when running under Python 3, try running the tests with the number of server processes set to 1.
0 commit comments