I’m getting inconsistent results when running ‘rasa test’ from within a docker container that’s running a rasa server versus ‘rasa test’ from my host (Mac) command line.
The file structure for both of these situations is exactly the same, except for the location of the actual rasa directory, which is where I run ‘rasa test’ in both situations. The data and all of the files are almost the same, with only the endpoints.yml file being changed so the dockerized rasa points to a dockerized action_server instead of localhost:5055.
When I run ‘rasa test’ locally, I get a result that looks like this:
2020-06-09 14:51:30 INFO rasa.core.test - Evaluation Results on CONVERSATION level:
2020-06-09 14:51:30 INFO rasa.core.test - Correct: 86 / 86
2020-06-09 14:51:30 INFO rasa.core.test - F1-Score: 1.000
2020-06-09 14:51:30 INFO rasa.core.test - Precision: 1.000
2020-06-09 14:51:30 INFO rasa.core.test - Accuracy: 1.000
2020-06-09 14:51:30 INFO rasa.core.test - In-data fraction: 0.929
2020-06-09 14:51:30 INFO rasa.core.test - Evaluation Results on ACTION level:
2020-06-09 14:51:30 INFO rasa.core.test - Correct: 645 / 645
2020-06-09 14:51:30 INFO rasa.core.test - F1-Score: 1.000
2020-06-09 14:51:30 INFO rasa.core.test - Precision: 1.000
2020-06-09 14:51:30 INFO rasa.core.test - Accuracy: 1.000
2020-06-09 14:51:30 INFO rasa.core.test - In-data fraction: 0.929
The end-to-end tests don’t appear to even get tested, even though they exist in tests/conversation_tests.md.
When I bash into the docker container running rasa with the command ‘docker exec -it chatbot_container /bin/bash’ and run ‘rasa test,’ I get the following results:
2020-06-09 19:59:27 INFO rasa.core.test - Evaluation Results on END-TO-END level:
2020-06-09 19:59:27 INFO rasa.core.test - Correct: 0 / 1
2020-06-09 19:59:27 INFO rasa.core.test - F1-Score: 0.000
2020-06-09 19:59:27 INFO rasa.core.test - Precision: 0.000
2020-06-09 19:59:27 INFO rasa.core.test - Accuracy: 0.000
2020-06-09 19:59:27 INFO rasa.core.test - In-data fraction: 0
2020-06-09 19:59:27 INFO rasa.core.test - Evaluation Results on ACTION level:
2020-06-09 19:59:27 INFO rasa.core.test - Correct: 1 / 2
2020-06-09 19:59:27 INFO rasa.core.test - F1-Score: 0.667
2020-06-09 19:59:27 INFO rasa.core.test - Precision: 0.667
2020-06-09 19:59:27 INFO rasa.core.test - Accuracy: 0.667
2020-06-09 19:59:27 INFO rasa.core.test - In-data fraction: 0
This time, I don’t see any results for the CONVERSATION_LEVEL tests, but I do see results for the end-to-end tests.
Unfortunately, in the docker scenario, the end-to-end tests always fail for me, even though I’m pretty positive that they should pass. In this example, my tests/conversation_tests.md file has the following story: ## Hi * greet: hi - action_greet
I know that this story works when I talk to my bot through the front end, through Rasa-X, and through api calls using Postman.
So overall, I’m surer that I’m calling ‘rasa test’ incorrectly. But I’m not sure why I’m getting a difference when I use this command locally or from within a container, or how to fix this issue. Thanks in advance for the help.