-
-
Notifications
You must be signed in to change notification settings - Fork 31
Configure and implement integration tests for DashR-related repos #82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Thanks @rpkyle, really looking forward to having this set up! Just a few points of clarification:
|
We've implemented several integration tests already with @byronz's help, and adding them is now firmly part of the feature implementation workflow. A few examples:
In addition, we've begun adding unit tests using R's The latter are initiated in CircleCI after integration tests finish, but it might make sense to have these launch first: Lines 41 to 44 in 0845184
Closing as the current workflow satisfies the original focus of this issue. |
Background
Commits to
master
anddev
branches of the DashR repo are currently permitted without passing code and style checks.This is undesirable; we should implement small app-based tests which can be automated (as in Dash for Python); this will likely involve setting up both CircleCI and Percy, and creating a repo with Python integration test scripts for DashR.
These are the lines demonstrating how a DashPy app is inlined; we'd need to modify this a bit for DashR, but it's relatively straightforward:
https://github.com/plotly/dash/blob/6cee22c4518714770567405f77eacf42b7dc8c51/tests/test_integration.py#L37-L51
And the exception is in
call_count
, here:https://github.com/plotly/dash/blob/6cee22c4518714770567405f77eacf42b7dc8c51/tests/test_integration.py#L53
And here is a sample call to Percy:
https://github.com/plotly/dash/blob/6cee22c4518714770567405f77eacf42b7dc8c51/tests/test_integration.py#L63
Proposed workflow
The following workflow is suggested, given the formal support for (official) Percy bindings to Python and not R:
test_integration.py
is the most important one to implement, the others (test_configs.py
,test_react.py
,test_resources.py
) can follow laterImplementation-specific details
htmlDiv
, or at least relevantprop
andvalue
fields; this would provide a bit more data for debugging purposescallbacks
can be made global in R by using the superassignment operator<<-
lintr
to work with CircleCI(While we don't have a concrete style guide for R like PEP8, and R tools for linting aren't quite as mature as
pylint
orflake8
, RStudio does provide thelintr
package, and we should use it also.)@alexcjohnson
The text was updated successfully, but these errors were encountered: