Commands
Validate Test Cases Button
Will run the Test Cases against the Reference Solution code. Before you can publish a challenge, the tests and reference solution must match, in order to prevent unsolvable challenges from being used.
Validate Sample Tests Button
Will run the Sample Tests against the Reference Solution code. It's helpful to run this to make sure your example test cases remain valid after updates.
Shortcut Key Commands:
- ⌘CTRL + Enter: Validate the reference solution against the test cases
- ⌘CTRL + ': Validate the reference solution against the sample tests
- ⌘CTRL + S Save the challenge (will re-publish if already published)
- ⌘CTRL + P Open the challenge preview dialog
Sections
Reference Solution Tab
This is an example solution that demonstrates how to fully complete the challenge. This is the solution that is used when validating the test cases. Before you publish the challenge, the solution must complete ALL of the test cases.
This solution will not be shown to candidates.
Solution Setup Tab
This is the default code that will be shown to candidates when they begin the challenge. You are not required to provide setup code before publishing a classic code challenge, however it is usually best practice to do so, even if it is only a few comments that help the candidate get started.
Preloaded Code Tab
This code will be run before the candidate's solution. It will not be viewable by the candidate so this can be a good place to do any initial setup or provide helper methods that the candidate can use for their solution.
Some advanced uses of this code block would be to setup services such as Redis.
For example (in Ruby):
fork { `redis-server` }
def wait_for_redis
begin
Timeout::timeout(0.3) do
Redis.new.set('ready', true)
end
rescue => ex
wait_for_redis
end
end
wait_for_redis
Test Cases Tab
You use the test cases block to write the tests that will be used for validating both the reference solution and the candidate's submitted solution. Some languages support multiple testing frameworks, while others only support one.
Most languages support a custom Qualified testing framework that are simplified versions that support the optional use of the spec testing pattern.
Sample Tests Tab
The test cases that you provide here will be available to candidates as their default set of test cases. Providing a basic starter set of tests can be helpful to candidates in many cases, such as when the requirements are complex and a set of tests helps illustrates what is expected.