Conversation
…lSource object to each band of the product.
…erTest, RunGPTProductReaderTest
…MultiLevelSource object to each band of the product.
|
|
||
| import static org.junit.Assert.fail; | ||
|
|
||
| public class RunProductReaderTest { |
There was a problem hiding this comment.
Why is this class necessary? Is ProductReaderAcceptanceTest not sufficient?
There was a problem hiding this comment.
The RunProductReaderTest is used to test certain product ids from the reader plugin JSON file. Also, the logger can be configured to enabled/disabled the messages for some classes to avoid unusefull messages in the console.
An example to run only the Muscate test for product id 'MUSCATE-v20':
-Dsnap.reader.tests.data.dir=\CV-DEV-SRV01\Satellite_Imagery\TestingJUnitFiles
-Dsnap.reader.tests.class.name=org.esa.s2tbx.dataio.spot.SpotViewProductReaderPlugin
-Dsnap.reader.tests.product.ids=MUSCATE-v20
-Dorg.esa.snap.level=FINE
-Dorg.esa.snap.core.metadata.level=SEVERE
-Dorg.esa.snap.jp2.reader.internal.level=SEVERE
-Dsnap.reader.tests.failOnMissingData=false
-Drapid.eye.force.read.product.with.nitf.api=true
-Dorg.esa.s2tbx.dataio.rapideye.level=FINE
There was a problem hiding this comment.
Yes, to be able to specify the product IDs is a nice feature, but this would have been better adde to the ProductReaderAcceptanceTest class. and then documented on the wiki page.
Same for the logging options.
There was a problem hiding this comment.
I decided to not modify the ProductReaderAcceptanceTest class and create a new class with implementation I need to run the tests for reading the products from the JSON file.
Of course, the implementation can be copied/moved in the ProductReaderAcceptanceTest class if it is needed there.
There was a problem hiding this comment.
Yes, it would be good if you can move into the ProductReaderAcceptanceTest.
I just want to avoid that we have several runners. That Luis creates next week another onot and the week after BC creates also one. And all implementations need to be maintained.
So better update and improve the existing one as long as it applicable. Of course very special needs can arise which make it necessary to create a new implementation. But then the name of the implementation should already expression the special case.
|
|
No description provided.