You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by "Mariia Mykhailova (JIRA)" <ji...@apache.org> on 2016/02/19 02:34:18 UTC

[jira] [Updated] (REEF-267) Provide JUnit integration with Tang

     [ https://issues.apache.org/jira/browse/REEF-267?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mariia Mykhailova updated REEF-267:
-----------------------------------
    Labels: GSoC JUnit gsoc2016 java  (was: GSoC)

> Provide JUnit integration with Tang
> -----------------------------------
>
>                 Key: REEF-267
>                 URL: https://issues.apache.org/jira/browse/REEF-267
>             Project: REEF
>          Issue Type: Improvement
>          Components: Tang
>    Affects Versions: 0.10
>            Reporter: Markus Weimer
>              Labels: GSoC, JUnit, gsoc2016, java
>
> We use Tang all over the REEF code base and also strongly encourage our users to use Tang for their own programs. One of the main wins of dependency injection should be testability: Instead of having to instantiate all objects explicitly, we can just rely on Tang instantiating the objects we want to test. Further, it allows us to bind fakes to interfaces we don't need for the test at hand.
> However, we make almost no use of Tang in that capacity and instead call constructors directly all over the place, which makes our code base less than agile. Consider the changes for [REEF-246] as an example. 
> In order to improve this situation, we should provide better support for unit testing in Tang. For instance, we could make a {{TestRunner}} that relies on Tang instead of reflection to instantiate the test classes. That way, our tests could just depend on instances of the classes they are supposed to test, as opposed to instantiating them directly.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)