Comments (4)
When generative testing is enabled and (g/check)
is called at the bottom of the namespace, it runs the checks for every specced function in a hot-reloaded namespace. It would be great if we could go more granular and really only re-test changed functions, but we ain't there yet. I heard that there's some work being done by the folks at Cognitect that might make this possible in the future, so keeping an eye on it.
There is a performance impact depending on the number and complexity of the functions in the changed namespace as well as the number of test iterations you set, but whether that'll be a problem really depends on the project and personal workflow/preferences.
There's more info on this in the spec-testing section in the documentation, but the TL;DR is that if you feel the performance impact is too great, you can enable ::check true
, adjust ::num-tests-ext
, and enable ::extensive-tests
in your test configuration, so that you can only run the generated generative tests as part of your regular CI/testing workflow.
With generative testing disabled (which it is by default) in your regular dev build config the performance impact is virtually zero.
from ghostwheel.
from ghostwheel.
👋 Hi. I'm posting this same comment to all issue threads to just give a quick heads up that the project, despite rumours and some evidence to the contrary, is not dead. It was hibernating for a little while and now nearing the long-awaited next release, which will fix some long-standing issues (and introduce some breaking changes to the config).
I'll be reviewing all open issues and PRs over the next couple of weeks, so stay tuned and thanks for the patience.
See also this Slack thread
from ghostwheel.
Project update July 2023: DO NOT PANIC – this is not a eulogy
from ghostwheel.
Related Issues (20)
- `:report-output` is specced as a set but the default value is a keyword HOT 3
- Non-conforming function call does not show reason HOT 5
- Does ghostwheel validate return values? HOT 2
- Spec assertion failed\n:js-console - failed: set? HOT 1
- Ability to override config HOT 7
- Macro idea for async instrumentation: >defn-go HOT 6
- s/cat arg spec behaving incorrectly? HOT 4
- A strange problem: function returning nil instead returns random numbers HOT 4
- Use metadata key for fn-body spec generation. HOT 3
- Check `>fdef`s in ns, or provide something similar HOT 2
- inline test spec
- I can't for the life of me figure out how to get tracing to work HOT 2
- Tracing support for Clojure HOT 2
- >defmethod HOT 2
- [?] How to enable or disable only some namespaces to instruemnt in ghostwheel.edn? HOT 2
- Instrumentation breaks when using ghostwheel HOT 1
- NullPointerException when a >defn calls another >defn with invalid arguments HOT 1
- Call to ghostwheel.core/>defn did not conform to spec. HOT 3
- No reason shown for why a function failed check HOT 1
- Disable side effect checking for print statements 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 ghostwheel.