learn-co / learn-test

⚠️ This gem is no longer maintained & its web features are no longer available
MIT License
3 stars 29 forks source link

learn --local or learn test --local #8

Closed aviflombaum closed 8 years ago

aviflombaum commented 9 years ago

It'd be awesome to be able to send a --local flag to learn-test so that it just wraps the appropriate test runner and doesn't try submitting or authenticating. Would make running 'test' runs way faster.

Relates to #7

matbalez-zz commented 9 years ago

Not clear that we want to support this? Collecting data on user test runs is valuable, both for measuring a students progress and also performing cheat detection.

I agree we should do what we can to speed up the learn --test command, but I don't think circumventing the connected aspect is the right solution.

aviflombaum commented 9 years ago

The use case for skipping the remote submission of the local test run is as an instructor, when developing a lab, I need to both make sure that rspec and learn work.

Sometimes learn can break an otherwise passing rspec run. I mean that with the solution rspec is green, but learn is read.

When I'm writing a lesson, for speed, I mostly run rspec until I have a full suite and solution. Once rspec is green, I run learn to make sure it also passes. In that case, being able to run locally, both for speed and for not depending on a remote git repo and basically submitting a worthless POST, a --local flag would be nice.

As a student, anytime I want to be able to run the test suite without an internet connection, learn is crucial in local mode. If we supported a --local run, when they type in learn even without the local flags, we can rescue an internet connection issue (us down or them disconnected) and at least try to re-run with --local

matbalez-zz commented 9 years ago

I see, so we would not document this as a student-facing feature? I'm OK with that.

aviflombaum commented 9 years ago

It's a feature of the test runner implemented by the learn-test adapter. We document it explicitly for curriculum contributors. We suggest it to students when appropriate.

In an ideal world, there would be comprehensive API documentation for this gem. All features and mode would be documented in that.

Then there would be Guides, "Using the learn test runner for Learners" and "Using the learn test runner for Teachers".

But no matter what, if you run learn in test mode, we should capture and rescue a connection timeout but still provide the user with local test suite feedback. So relating to #7, we need this mode anyway, documented or not.

loganhasson commented 8 years ago

closed by aeba815223b4a0c407eddf2fcd81b79fa68aa582