There is a unit that tests your abstractions of third-party libraries to ensure that your code is working as intended, and then integration testing with third-party libraries is performed to ensure that the behavior of these integrals is consistent with the intended purpose. If there are sandboxes in these third-party libraries with which you can safely test, even better.
If, for example, your system under test depends on a third-party library, but you want a unit test without calling the actual library. You provide a mock implementation of a third-party interface, either manually or using a mocking structure.
public interface IExteralContract { List<string> DoSomething(params string[] args); } [TestMethod] public void SUT_Should_Be_True {
In this case, the system under test was one of your classes, depending on a third-party interface.
For your integration test, the system under test is the actual third-party shell to make sure that it behaves as intended.
public class ConcreteExternalWrapper : IExteralContract { public List<string> DoSomething(params string[] args){
Thus, if the library administrator changes their API, the behavior will cause the expected behavior to fail.
Hope this satisfies what you asked for.
Nkosi source share