lesli_testing 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/lesli_testing/minitest/cli_reporter.rb +0 -1
- data/lib/lesli_testing/version.rb +2 -2
- data/lib/lesli_testing.rb +1 -1
- data/readme.md +113 -65
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9e25e9ae176117279c4cf416cbc69557158d90aee0a0cda0b59bcc36301171f7
|
|
4
|
+
data.tar.gz: 44bac7ca08dabc31650468010baac79760e8781d6f4b400d6d5eeb6dcd3b6dc8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e608973abe0d050fa4adcc284d4f1ddb3637408142acb241e3a76be931888e77b15e7e67751511eaf818d44f519674a55c4f4b9c66c68656e7dc49185bbfc339
|
|
7
|
+
data.tar.gz: ed2da15d9d78d227bf88a0088ce2d9c65eebfbf84d2cb40476783c03657d80f45f69e899e2f1ac7f448999946bf14466bff369be4ba3d7309d9ed937e56150fb
|
data/lib/lesli_testing.rb
CHANGED
data/readme.md
CHANGED
|
@@ -1,111 +1,160 @@
|
|
|
1
|
-
<div align="center"
|
|
2
|
-
<
|
|
3
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1 align="center">
|
|
3
|
+
<img width="100" alt="LesliTesting" src="./docs/images/testing-logo.svg" />
|
|
4
|
+
</h1>
|
|
5
|
+
<h3 align="center">Shared testing, reporting, and coverage tools for the Lesli Framework.</h3>
|
|
4
6
|
</div>
|
|
5
7
|
|
|
6
8
|
<br />
|
|
7
|
-
<hr/>
|
|
8
|
-
<br />
|
|
9
|
-
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
<div align="center">
|
|
11
|
+
<a target="_blank" href="https://github.com/LesliTech/LesliTesting/actions/workflows/main.yml">
|
|
12
|
+
<img alt="LesliTesting test status" src="https://img.shields.io/github/actions/workflow/status/LesliTech/LesliTesting/main.yml?branch=main&style=for-the-badge&logo=github&label=tests">
|
|
13
|
+
</a>
|
|
14
|
+
<a target="_blank" href="https://rubygems.org/gems/lesli_testing">
|
|
15
|
+
<img alt="Gem Version" src="https://img.shields.io/gem/v/lesli_testing?style=for-the-badge&logo=ruby">
|
|
16
|
+
</a>
|
|
17
|
+
<a target="_blank" href="https://codecov.io/github/LesliTech/LesliTesting">
|
|
18
|
+
<img alt="Codecov" src="https://img.shields.io/codecov/c/github/LesliTech/LesliTesting?style=for-the-badge&logo=codecov">
|
|
19
|
+
</a>
|
|
20
|
+
<a target="_blank" href="https://sonarcloud.io/project/overview?id=LesliTech_LesliTesting">
|
|
21
|
+
<img alt="Sonar Quality Gate" src="https://img.shields.io/sonar/quality_gate/LesliTech_LesliTesting?server=https%3A%2F%2Fsonarcloud.io&style=for-the-badge&logo=sonarqubecloud&label=Quality">
|
|
22
|
+
</a>
|
|
23
|
+
</div>
|
|
12
24
|
|
|
13
25
|
<br />
|
|
14
26
|
|
|
27
|
+
<div align="center">
|
|
28
|
+
<img
|
|
29
|
+
style="width:100%;max-width:800px;border-radius:6px;"
|
|
30
|
+
alt="LesliTesting terminal test report"
|
|
31
|
+
src="./docs/images/screenshot.png" />
|
|
32
|
+
</div>
|
|
15
33
|
|
|
16
|
-
|
|
34
|
+
<br />
|
|
17
35
|
|
|
18
|
-
|
|
19
|
-
bundle add lesli_testing
|
|
20
|
-
```
|
|
36
|
+
---
|
|
21
37
|
|
|
22
38
|
<br />
|
|
23
39
|
|
|
24
|
-
|
|
40
|
+
## Introduction
|
|
25
41
|
|
|
26
|
-
|
|
27
|
-
ENV["RAILS_ENV"] ||= "test"
|
|
42
|
+
LesliTesting provides the shared test configuration used across the [Lesli Framework](https://github.com/LesliTech/Lesli).
|
|
28
43
|
|
|
44
|
+
It standardizes Minitest output, SimpleCov profiles, coverage reports, and fixture loading for Rails applications, engines, and Ruby gems.
|
|
29
45
|
|
|
30
|
-
|
|
31
|
-
require "lesli_testing"
|
|
46
|
+
<br />
|
|
32
47
|
|
|
48
|
+
## Features
|
|
33
49
|
|
|
34
|
-
|
|
35
|
-
|
|
50
|
+
- Coverage profiles for Rails applications, Rails engines, and Ruby gems
|
|
51
|
+
- A human-friendly Minitest reporter with per-test timing and failure details
|
|
52
|
+
- SimpleCov HTML, console, and Cobertura reports
|
|
53
|
+
- Configurable minimum coverage thresholds
|
|
54
|
+
- Shared base classes for integration, model, and view tests
|
|
55
|
+
- Automatic access to Lesli fixtures in Rails test cases
|
|
36
56
|
|
|
57
|
+
<br />
|
|
37
58
|
|
|
38
|
-
|
|
39
|
-
LesliTesting.app("LesliBuilder")
|
|
59
|
+
## Quick Start
|
|
40
60
|
|
|
61
|
+
Add LesliTesting to the test group:
|
|
41
62
|
|
|
42
|
-
|
|
43
|
-
|
|
63
|
+
```shell
|
|
64
|
+
bundle add lesli_testing --group test
|
|
44
65
|
```
|
|
45
66
|
|
|
46
|
-
|
|
67
|
+
Require the gem from `test/test_helper.rb` and select exactly one profile for the project:
|
|
47
68
|
|
|
48
|
-
|
|
69
|
+
```ruby
|
|
70
|
+
require "lesli_testing"
|
|
49
71
|
|
|
50
|
-
|
|
51
|
-
|
|
72
|
+
LesliTesting.app("LesliBuilder") # Rails application
|
|
73
|
+
# LesliTesting.engine("LesliShield") # Rails engine
|
|
74
|
+
# LesliTesting.gem("LesliDate") # Standalone Ruby gem
|
|
75
|
+
```
|
|
52
76
|
|
|
53
|
-
|
|
77
|
+
Load LesliTesting before the code under test when coverage is enabled. Rails projects should load `rails/test_help` before configuration when they use the shared Rails test classes.
|
|
54
78
|
|
|
55
|
-
|
|
79
|
+
Run the suite normally or enable coverage with `COVERAGE`:
|
|
56
80
|
|
|
57
|
-
|
|
81
|
+
```shell
|
|
82
|
+
bin/rails test
|
|
83
|
+
COVERAGE=true bin/rails test
|
|
58
84
|
|
|
59
|
-
|
|
85
|
+
bundle exec rake
|
|
86
|
+
COVERAGE=true bundle exec rake
|
|
60
87
|
```
|
|
61
88
|
|
|
89
|
+
Set `QUIET=true` to hide individual passing-test lines while retaining the summary and failure details.
|
|
90
|
+
|
|
62
91
|
<br />
|
|
63
92
|
|
|
64
|
-
|
|
93
|
+
## Guides
|
|
65
94
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
95
|
+
- [Installation and configuration](./docs/installation.md)
|
|
96
|
+
- [Testing Rails applications](./docs/applications.md)
|
|
97
|
+
- [Testing Rails engines](./docs/engines.md)
|
|
98
|
+
- [Testing Ruby gems](./docs/gems.md)
|
|
99
|
+
- [Reporter, coverage, fixtures, and test helpers](./docs/tools.md)
|
|
100
|
+
- [Recommended project and gem structure](./docs/structure.md)
|
|
71
101
|
|
|
72
102
|
<br />
|
|
73
103
|
|
|
74
|
-
|
|
104
|
+
## Development
|
|
75
105
|
|
|
76
|
-
|
|
106
|
+
Clone the repository and install its dependencies:
|
|
77
107
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
108
|
+
```shell
|
|
109
|
+
git clone https://github.com/LesliTech/LesliTesting.git
|
|
110
|
+
cd LesliTesting
|
|
111
|
+
bundle install
|
|
112
|
+
```
|
|
82
113
|
|
|
83
|
-
|
|
114
|
+
To use local source from a Lesli development workspace, reference it from the host application's `Gemfile`:
|
|
84
115
|
|
|
85
116
|
```ruby
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
117
|
+
gem "lesli_testing", path: "gems/LesliTesting"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Tests
|
|
121
|
+
|
|
122
|
+
Run the default test task from the LesliTesting directory:
|
|
123
|
+
|
|
124
|
+
```shell
|
|
125
|
+
bundle exec rake
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Run the reporter demonstration failures explicitly with `DEMO=true`:
|
|
129
|
+
|
|
130
|
+
```shell
|
|
131
|
+
DEMO=true bundle exec ruby -Itest test/demo_test.rb
|
|
90
132
|
```
|
|
91
133
|
|
|
134
|
+
The demo command is expected to fail and is intended for visually checking failure formatting.
|
|
135
|
+
|
|
92
136
|
<br />
|
|
93
137
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
138
|
+
## Documentation
|
|
139
|
+
|
|
140
|
+
- [Lesli website](https://www.lesli.dev/)
|
|
141
|
+
- [Documentation](https://www.lesli.dev/gems/testing/)
|
|
142
|
+
- [Release notes](https://github.com/LesliTech/LesliTesting/releases)
|
|
143
|
+
- [Issue tracker](https://github.com/LesliTech/LesliTesting/issues)
|
|
144
|
+
- [Source code](https://github.com/LesliTech/LesliTesting)
|
|
97
145
|
|
|
146
|
+
<br />
|
|
98
147
|
|
|
99
|
-
|
|
148
|
+
## Community
|
|
100
149
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
150
|
+
- [X: @LesliTech](https://x.com/LesliTech)
|
|
151
|
+
- [hello@lesli.tech](mailto:hello@lesli.tech)
|
|
152
|
+
- [https://www.lesli.tech](https://www.lesli.tech)
|
|
104
153
|
|
|
105
154
|
<br />
|
|
106
155
|
|
|
107
|
-
|
|
108
|
-
|
|
156
|
+
## License
|
|
157
|
+
|
|
109
158
|
Copyright (c) 2026, Lesli Technologies, S. A.
|
|
110
159
|
|
|
111
160
|
This program is free software: you can redistribute it and/or modify
|
|
@@ -119,17 +168,16 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
119
168
|
GNU General Public License for more details.
|
|
120
169
|
|
|
121
170
|
You should have received a copy of the GNU General Public License
|
|
122
|
-
along with this program. If not, see
|
|
171
|
+
along with this program. If not, see [https://www.gnu.org/licenses/](https://www.gnu.org/licenses/).
|
|
172
|
+
|
|
173
|
+
The complete license text is available in the [license file](./license).
|
|
174
|
+
|
|
175
|
+
---
|
|
123
176
|
|
|
124
|
-
<hr />
|
|
125
177
|
<br />
|
|
126
178
|
<br />
|
|
127
179
|
|
|
128
|
-
<div align="center"
|
|
129
|
-
<img width="80" alt="Lesli
|
|
130
|
-
<
|
|
131
|
-
The Open-Source SaaS Development Framework for Ruby on Rails.
|
|
132
|
-
</h4>
|
|
180
|
+
<div align="center">
|
|
181
|
+
<img width="80" alt="Lesli icon" src="https://cdn.lesli.tech/lesli/brand/app-icon.svg" />
|
|
182
|
+
<h3 align="center">The Open-Source SaaS Development Framework for Ruby on Rails.</h3>
|
|
133
183
|
</div>
|
|
134
|
-
|
|
135
|
-
<br />
|