-
-
Notifications
You must be signed in to change notification settings - Fork 96
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
v5.1 crashes with "Found duplicated test names" #211
Comments
Are these blocking you? If not I'll hold off to see if there are any others. |
Well, it stopped me from upgrading and I froze Expecto with |
I understand. Its really a breaking change. I'll release tonight. |
basically I have
|
this should not fail. |
O no. I'll look at it today/tomorrow. You can use the allow_duplicate_names config to turn it off for now in 5.1.1. |
scratch that. I fucked up. It works as expecto-ed. |
Cool! I'm stupid also, I forgot I added a test to check exactly this. Closing... |
This patch fix was a breaking change that makes the TestSdk integration no longer work. Updating the configuration object will cause anyone who creates their own configuration instead of just using the |
Perhaps we should introduce an interface that the record implements? After all, keeping binary compatibility would be a very important thing to anything depending on this project. |
Or hide it's impelementation; only exposing factory/accessors/wither functions. Maybe even lenses could work. Normally, adding properties to an object isn't a problem; but the issue with records is that doing so also adds new parameters to the constructor. We could go with something like: let myConfig =
defaultConfig
|> Optics.set Config.fsCheckMaxTests 200
|> Optics.set Config.fsCheckStartSize 2
|> Optics.set Config.mySpiritIsWeak true It's obviously much more verbose, but still; it would make it much easier to keep binary compatibility. If you make an interface, people are going to implement it... Also, you have the same issue whenever you want to extend the interface. By making the type opaque, this issue goes away. Whenever you add a new property, you also need to make a new lense, which is just a new static property on a class. |
Can't we do what FAKE and other projects do and just change things we know about off defaultConfig?
|
I don't think that works actually (though not sure). Cause it still compiles it down to invoking either the constructor, or pre-defined "with" methods as far as I know. See It compiles to |
I guess adding to the config is currently a breaking change and needs a major version. It looks like we really need to resolve the developer API. We have #204. There is also adamchester/expecto-adapter#37 which I think needs to be considered at the same time. |
--help
displays no way to override. I want to run my tests (they are grouped with mutexes rather than names in this case)The text was updated successfully, but these errors were encountered: