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
Internalize types and members that don't need to be exposed #428
Comments
I'd like to make
Of course, I'm always keen in case someone has a better idea floating around. |
The term 'integration test' is so overloaded that I don't know what it means any more. For me, there are generally only two types of tests, black box and white box. Black box tests, often called 'acceptance tests', test the public API/UI without care in the world about implementation. White box tests, AKA 'component tests' (Jez Humble) and/or 'unit tests' (a common misuse of the original term), isolate and test specific areas of the implementation. If these integration tests are black box tests, they should not test internals, since they don't care about them. If these tests are white box tests, then they can test internals but this does in no way imply that they should test only a single class (the common misuse of the original term 'unit test'). Assuming the above to be reasonable, this raises the question of what exactly are our various test projects? My preference would be to move toward a model where we have well defined black/white box test projects. I guess the current 'specs' projects are purporting to be the former, whilst the latter is less clear. With regard to white box tests, Jez Humble makes the distinction between 'component tests' which, in the OO context, test a number of types working together and 'unit tests' (again, a misuse of the original term) which, in the OO context test a single type, isolated from all types apart from primitives and other very low level types. Whilst typing the above it's dawned on me that our current 'integration tests' are probably acting as 'component tests' in the above classification, whilst our 'Tests' are, of course, the 'unit tests'. In that case, I think it's fine for the integration tests to have access to the internals. 😰 |
@adamralph, thanks for the detailed response. I believe I agree with everything you said, and think that our IntegrationTests map onto "component tests". I will add access to the internals.
|
Thanks, I did indeed swap them, fixed 😁 |
😌 |
Oh! #280 😊 |
This issue has been fixed in release 2.0.0. |
Scope to be determined from #374.
The text was updated successfully, but these errors were encountered: