You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm not a fan of the current state of integration testing. Right now, it is spread across two repositories, LGNBuilder and LGNC-Swift (will be even more as more languages become supported), which are too tightly and mutually dependent on each other, and making changes requires coordinated updating of both repositories.
I suggest to strip integration tests from both repositories and to place them in a designated one, let's say, LGNC-integration-tests. This repository shall contain both test schema and test contract implementations for each language. A script shall be written, which will pull as dependenciesLGNBuilder and each LGNC-<lang> implementation, generate necessary code and run tests.
The advantages of this approach that I see are:
Tests will become easier to comprehend, update and expand
With some effort, test contract implementations may become examples of how to write contracts for each language, easily accessible for a newcomer
Less chance for inadvertent coupling between a language implementation and its tests, since the implementation will be pulled as a dependency, like in a real world project
A single point for observing all language implementations' compliance
Another suggestion, of which I am not certain, would be to put the builder, the tests and the general documentation into LGNC repository, to avoid spreading the project across too many repos.
Thoughts?
The text was updated successfully, but these errors were encountered:
I'm not a fan of the current state of integration testing. Right now, it is spread across two repositories,
LGNBuilder
andLGNC-Swift
(will be even more as more languages become supported), which are too tightly and mutually dependent on each other, and making changes requires coordinated updating of both repositories.I suggest to strip integration tests from both repositories and to place them in a designated one, let's say,
LGNC-integration-tests
. This repository shall contain both test schema and test contract implementations for each language. A script shall be written, which will pull as dependenciesLGNBuilder
and eachLGNC-<lang>
implementation, generate necessary code and run tests.The advantages of this approach that I see are:
Another suggestion, of which I am not certain, would be to put the builder, the tests and the general documentation into
LGNC
repository, to avoid spreading the project across too many repos.Thoughts?
The text was updated successfully, but these errors were encountered: