Comments (4)
It's fair feedback. It personally blows my mind that Xunit doesn't have its own skippable indicator. And crossing between two xunit fact types gets muddy. I think the next major version of xunit is supposed to address this gap anyway.
But in the meantime, hey, I could see adding support to report SkipException as skips in StaFact as well.
Would you be interested in submitting the PR with the change yourself?
from xunit.stafact.
Yes, it's quite surprising that proper skip support is not built into xunit. I did not know that it is planned for v3. I'd be inclined to wait but I could take a look and see how involved the task is for someone who hasn't worked with xunit internals before. On the surface it would seem appropriate to take a dependency on SkippableFact and make the other attributes inherit from Skippable*.
from xunit.stafact.
it would seem appropriate to take a dependency on SkippableFact and make the other attributes inherit from Skippable*.
Ah, if only it were that easy. But no, I'm pretty sure that won't work.
Instead, I suggest you look at how SkippableFact
does it and apply the same pattern to the StaFact attributes. You'll first notice that it isn't the attribute itself at all. It's the test executor that the attribute activates. Each library has their own executor, which is why inheritance alone won't work.
I also don't think the StaFact package should depend on the Skippable package. So instead, I think the StaFact system should simply do a name check on the exception that's thrown (so there is no type reference to the Skippable assembly) and if it matches, it can report a skipped test in the same way that the Skippable package does.
from xunit.stafact.
So instead, I think the StaFact system should simply do a name check on the exception that's thrown (so there is no type reference to the Skippable assembly) and if it matches, it can report a skipped test in the same way that the Skippable package does.
That was my first thought as well. I just figured there was much duplication of work otherwise - MessageBus, etc., assuming partial reuse would be possible. But I take your point and the SkippableFact package seems pretty small compared to the StaFact package.
from xunit.stafact.
Related Issues (20)
- [StaFact] tests not found when used with netcoreapp2.2 HOT 13
- StaTheory is not supported in Visual Studio Runner HOT 13
- Support for OleInitialize HOT 2
- WPF support on .NET Core 3.0 breaks .NET Core 3.0 consumers on Linux/Mac
- Can't run tests HOT 2
- Generate test arguments on test thread
- CPU usage in polling message loop HOT 4
- Hanging UITheoryTestCase
- Clarify attribute names, or rename package ID HOT 8
- CollectionAttribute seems to be not respected HOT 7
- [StaFact] tests do not execute when targeting net462 HOT 8
- .net 4.5.2 compatibility HOT 3
- netstandard support HOT 1
- STA for Fixture Collections HOT 5
- StaFact facts breaks the concurrency limitations of Xunit HOT 11
- Running all tests within a class on the same thread? HOT 12
- [MainThreadFact] to execute tests on main thread on macos HOT 6
- Custom Thread HOT 1
- WinUI Unit testing with UIFact doesn't appear to work. HOT 18
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 xunit.stafact.