Comments (10)
@fsoikin ping
from purescript-spec.
I don't quite understand what the problem is. Can't you just create your own alias type Spec = SpecT Aff Unit Effect Unit
?
from purescript-spec.
The problem is: why this is not by default in the library.
The problem is not with the alias, I described it, if one uses beforeAll
hook one cannot run it simply with:
launchAff_ $ runSpec [ consoleReporter ] spec
but need:
launchAff_ =<< void <$> runSpecT defaultConfig [ consoleReporter ] spec
Do you use beforeAll
hook in tests?
from purescript-spec.
Ah, I think I see: you're complaining that beforeAll
requires the base monad to be MonadEffect
, right?
If so, I cannot answer your question: I did not write this library, so I don't know the original motivation.
from purescript-spec.
so I don't know the original motivation.
Maybe it was overlooked. This change doesn't seem to break anything.
I thought you were the last active maintainer -) Who should we ping? @safareli
from purescript-spec.
Haven't done any PureScript for past couple years...
from purescript-spec.
Haven't done any PureScript for past couple years...
So far we need a brave one. @fsoikin ?
from purescript-spec.
Ok, so after considering this for a bit, I think I don't want to replace Identity
with Effect
, because this would impact existing tests that might count on the purity of the base monad.
In practice using beforeAll
requires only very few changes to the code - the type of specs and the entry point, - so really the missing part is a comment on beforeAll
explaining the issue and describing the solution.
And if you really want to have the Effect
-based tests supported by the core library - how about creating a parallel type alias (e.g. SpecEff
or something) and entry point function (runSpecEff
)?
from purescript-spec.
SpecEff
looks too ad-hoc. How about naming it SpecE
and runSpecE
for the sake of brevity?
from purescript-spec.
SpecE
reads like it has to do with errors.
from purescript-spec.
Related Issues (20)
- Changing timeouts is too difficult HOT 1
- Pursuit docs are not up to date HOT 2
- aroundAll hook HOT 1
- Add flag to run tests in randomised order
- Spec Editor integration HOT 3
- xit HOT 2
- Report output misses last `pending` in each nested `describe`? HOT 1
- itOnly still evalutates? HOT 3
- Add warning to `*Only` HOT 1
- Better reporting for diffs HOT 1
- Use an actual bracket to handle test setup/cleanup HOT 4
- `pulp test` fails on CI HOT 1
- Version 7.3.0 is not in the package set HOT 1
- Fix warning in TeamCity file HOT 2
- new Tree type is a breaking api change HOT 3
- Changes in nesting of `describe` causes unexpected changes in reporting HOT 2
- Teamcity reporter overwrites nodes when there are more then one child of a describe HOT 5
- Warning when specifying the type of a Spec HOT 7
- `consoleReporter` not reporting which test that failed when running tests in `parallel` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from purescript-spec.