diff options
author | Robert Speicher <rspeicher@gmail.com> | 2017-02-20 10:39:51 -0500 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2017-02-20 10:39:51 -0500 |
commit | ec3262549b2e0c86988b3593464c71f176a66128 (patch) | |
tree | 76771d8f9b0c6dfcfbe5cf7d0764df8b76fd5096 | |
parent | fbbbf1e4e77768a40b835455f17749384f7c4984 (diff) | |
download | gitlab-ce-ec3262549b2e0c86988b3593464c71f176a66128.tar.gz |
Document Timecop usage for time-sensitive testsrs-document-timecop
-rw-r--r-- | doc/development/testing.md | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/development/testing.md b/doc/development/testing.md index 761847b2bab..b3c19e396d0 100644 --- a/doc/development/testing.md +++ b/doc/development/testing.md @@ -95,6 +95,25 @@ so we need to set some guidelines for their use going forward: [lets-not]: https://robots.thoughtbot.com/lets-not +### Time-sensitive tests + +[Timecop](https://github.com/travisjeffery/timecop) is available in our +Ruby-based tests for verifying things that are time-sensitive. Any test that +exercises or verifies something time-sensitive should make use of Timecop to +prevent transient test failures. + +Example: + +```ruby +it 'is overdue' do + issue = build(:issue, due_date: Date.tomorrow) + + Timecop.freeze(3.days.from_now) do + expect(issue).to be_overdue + end +end +``` + ### Test speed GitLab has a massive test suite that, without parallelization, can take more |