kriegaex commented on PR #133:
URL: https://github.com/apache/xalan-java/pull/133#issuecomment-1835237583

   > I would trade "slightly less test coverage" for "less maintenance overhead 
of dealing with Mockito tests/upgrades vs Java versions".
   
   I would not. The right thing to do would be to
     * introduce a `xalan-commons` module (there is a lot more duplicate code 
in Xalan vs. Serializer modules),
     * put a singleton-style versions base class with non-static methods 
(easily testable) there, the static ones only being facades for calling the 
singleton instance's ones,
     * making sure that tests can inject a testable instance.
   
   But that is for another day. Static methods or not, a proper unit test 
should cover all code and stub out file I/O, i.e. one way or another we end up 
with a partial mock, if we want clean in-memory tests. Especially with 
parametrised tests, I do not wish to store a whole bunch of test resource files 
for different test cases. Trading coverage for slightly simpler tests is an 
option, but not the one I chose for good reason. 
   
   > > I downgraded from Mockito 5.x to 4.x to cater to the requirement to be 
able to build on JDK 8
   > 
   > An alternative solution could be skipping some of the tests when running 
with JDK 8.
   
   I prefer my alternative, not skipping tests. We would have to skip **all** 
tests using mockito on JDK 8 then, but good unit tests ought to test the unit 
under test in isolation, i.e. I want to use mocks in many situations. This 
class is not complex, but others are and have dependencies that I want to mock 
when injecting them.
   
   @jkesselm, mocking might be over-used, but it does not mean that I do. Mocks 
or test doubles in general are important tools for good unit tests.
   
   > > Now, the CI build clean verify passes
   > 
   > It would be great to actually see the CI results
   
   I checked them, so they were visible already. Because of the strange policy 
that each single CI run has to be manually approved by a committer, I simply 
checked the results on my fork, from where I started the PR. There, the tests 
run automatically. You can look there, too. In case of your own PIs, that is 
where you can also verify the build results, if you are not a committer (I have 
no idea, actually).
   
   > and it would be great to see CI on both Windows and Linux machines as I 
expect there might be newline/pathseparator-like issues
   
   I agree, but it was way beyond the scope of this PR to add a build matrix 
here. Actually, OS matrix is not the only thing. We also want a JDK version 
matrix. I suggest 8, 11, 17, 21.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org
For additional commands, e-mail: dev-h...@xalan.apache.org

Reply via email to