Comments (3)
Yes, there are land mines here.
What if a violation occurs in a function that returns something that the framework cannot create? There simply is no way to continue.
from trompeloeil.
Yep that's true. A lot of Unreal uses return types that are default or trivial constructible (favoring out parameters by reference for spots that may be a bad idea) so I didn't run into that with my initial exploration. Do you have any suggestions on approaches for getting suitable beahvior in place there? I'd guess I could get a lot of mileage out of trompeloeil even with compile time errors (only) for bad mocks, but I might be able to set up some kind of run time adapter for aborting the current test.
I'm open to doing a lot of the lifting for this myself (i.e. porting the tests to unreal and working through issues there), but would appreciate if you think it'd be a waste of time 😄
from trompeloeil.
I admit that I haven't thought very much about this, because I think that when a test fails, you really don't want to continue running because nothing valuable will come out of it. Abort/terminate/crash is unfortunate, but it only happens when a bug has been caught, which really ought to be very rare, so it's not a big deal. I strongly dislike the idea of a solution that only works in some circumstances.
I've been toying with the idea of a co-routine based testing framework that'd co_return a violation, which maybe could work, but it's nothing more than a vague idea at this point and won't address your current needs.
from trompeloeil.
Related Issues (20)
- How can i mock a member function of A class in a B class's function? HOT 3
- CMake version required not correct HOT 5
- Setting expectations in a function fails HOT 6
- how can I mock the static member function and non-virtual member fuctions? HOT 2
- Problematic traits for ``streamer`` primary template HOT 4
- Documentation, typo and missing bits and bobs HOT 3
- Compile error when returning values from a tl::expected with a void expected value HOT 5
- Refactoring with sequenced expectations HOT 2
- Build for QNX tests fail due to catch2 header file HOT 1
- Wrong Expectaition message HOT 1
- [Bug] Fails to run tests with catch 3.x HOT 4
- Tests fail to compile: error: 'ret_count' is an unsafe buffer that does not perform bounds checks HOT 4
- Expect call returning a reference HOT 2
- can this cppcheck inline suppression be added HOT 1
- Setting side effects after creating expectactions (inside DOCTEST_SUBCASEs) HOT 5
- Feature Request: Allow specifying calling convention attributes to Mock methods HOT 12
- Spy some dependencies HOT 3
- ``trompeloeil_movable_mock`` only provides move-ctor HOT 3
- Warnings with gcc's -Weffc++ HOT 9
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 trompeloeil.