-
-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace minitest.cr in favor of std-lib spec #334
Conversation
Will allow running unit and integration separately. They initialize different some data in the directories.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fine by me.
Thought, I think run!
is confusing and couldn't be less explicit; keeping custom assertions and refutations is kinda weird along should expectations; it also leaks a bunch of methods into the global space... I guess spec ain't as good as minitest 😏
Yeah, there some advantage of minitest in some scenarios. Another thing I miss in the current spec that is present in rspec is the Was there a reason to not capture all the output in |
Yes, we should just always capture, it shouldn't be noticeably slower. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love it! This not only removes non-org dependencies it also removes friction and makes it easier for contributers when you don't have to learn another spec framework.
For some reason the commits seem to be out of order. The "Migrate ..." commits should probably be the first ones but they're somewhere in the middle...
File.join(application_path, "lib", project, *path_names) | ||
end | ||
|
||
def debug(command) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this used for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it's a helper method to debug failure on commands. It was there I didn't want to disrupt anybody's workflow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep. Useful when an integration test starts failing: add a debug run instead of trying to reproduce the test case or printing the output manually.
@straight-shoota some feedback addressed. I didn't want to change/refactor the specs a lot. I think that can be handled later. The goal is to drop the non org dependency and allow compilation on master easily. Improvements in the specs can come later IMO. We need to fix build on master and promptly tag a molinillo / shards release so Crystal nightlies can build again. |
Regarding the commit history, I've done some rebases along the way and that bothers github ui. But we can squash all these commits if preferred. I commit it that way in case other PRs were merged in between so a rebase would be easier for me. |
I still would like to see a test unit style added to the std-lib. I think it is a little weird that a project under the Crystal Org cannot have a test unit style. |
I agree. We should eventually enhance But we can do it later, even after 1.0 |
@asterite I am sure more people have asked but I made a post about it a while ago. |
On second though, there's |
This is definitely not the topic of this discussion. |
@straight-shoota are we good on your side to merge this as is? |
Yes, please squash to keep history nice. Also, as @RX14 pointed out, there seems to be |
This pr removes minitest to keep dependencies within crystal-lang org.
Since the integration spec use data initialized once arranche the spec to be
spec/unit
andspen/integration
.run!
to be the alternative ofrun
that captures the output.Nothing against minitest.cr (sorry @ysbaddaden!) but is important to keep dependencies within the org.