Testability
See original GitHub issueHi folks,
we really appreciate the lib and want to use it, but we are currently facing some hard times testing our code using your lib.
The lib provides too less interfaces. Also, constructing a new Connection
directly establishes a socket. Therefore it is simply not mock-/testable.
As we are developing in a CI environment, we strongly need to provide unittests (not only integrationtests).
Do you think there is a chance to introduce an appropiate level of abstraction?
Thanks in advance Andy
Issue Analytics
- State:
- Created 7 years ago
- Reactions:2
- Comments:8 (3 by maintainers)
Top Results From Across the Web
What is Testability in Software Testing?
Testability enables easy assessment and determining the overall efforts required to perform testing activities on the software, covering test ...
Read more >Software testability
Software testability is the degree to which a software artifact (i.e. a software system, software module, requirements- or design document) supports testing ...
Read more >Testability - an overview | ScienceDirect Topics
Testability : Testability is a characteristic that indicates whether a system or component can accurately determine its status (operation, failure, ...
Read more >Software Testability
Testability is the ease with which a system can be tested. It enables easy assessment and determining the overall efforts required for ...
Read more >Testability - How to Create a Scientific Theory or Hypothesis
Whenever you create a hypothesis to prove a part of a theory, it must be testable and analyzable with current technology. Reasoning Cycle...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Hi everyone, based on the feedback and sample PR, I pushed some code to the api-updates branch. There you will find the public interfaces (sync part in IAmqpObject.cs, async part in TaskExtensions.cs and also IConnectionFactory.cs). This should cover most of the APIs on the client side. I didn’t include all public methods to minimize the changes. Please let me know if you feel any changes are needed. Thanks a lot.
I added a throw-away PR that shows an example of adding interface to support this concept. From a testability standpoint, for example, this is the type of thing I would be hopping to accomplish without having to create a bunch of my own interfaces and wrappers around the amqpnetlite classes: