私はすでによく似た質問でチェックしてあり、役に立つ回答を見つけることができませんでした。テスト中にメッセージソースが正しく読み取られない
Maven v3.3.9を使用してJHipster経由でWebアプリケーションを作成しています。とりわけ、PDF生成が行われています。 Webアプリケーションは、多言語であり、異なる翻訳に
/リソース/国際化/ ..
リソースファイルを使用しています。ライブテストでは、問題やエラーなしですべてが完璧に動作します。
私は現在、PDFを生成して既存のPDFと比較するテストを作成しようとしており、開発を続けることができます。私は、エラーの原因が何であるかわからない
:問題は、私がテストに使用ロケールに関係なく、私は同じエラーを取得し、です。メッセージはライブテスト中に存在するため、完全に動作します。
@RunWith(SpringRunner.class)
@SpringBootTest(classes = DeviceDataCheckApp.class)
public class PDFGeneratorTest
{
private MockMvc mockMvc;
private CalculationMapperImpl calculationMapperImpl;
private Calculation calculation;
private CalculationDTO calculationDTO;
private CalculationResult calculationResult;
private String langval = "de";
private String name = "";
private PDFGenerator pdfGenerator;
@Autowired
private MessageSource messageSource;
@Autowired
private WebApplicationContext webApplicationContext;
@Before
public void setup() throws IOException, URISyntaxException, IllegalAccessException, InstantiationException
{
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
calculation = new Calculation()
.producerName("test")
.airVolumeSupply(2.0)
.airVolumeExhaust(2.0)
.statedAirVelocitySupply(2.0)
.statedAirVelocityExhaust(2.0)
.staticPressureLossSupply(2.0)
.staticPressureLossExhaust(2.0)
.pMSupply(2.0)
.pMExhaust(2.0)
.pMAnfSupply(2.0)
.pMAnfExhaust(2.0)
.pressureLossWrgSupply(2.0)
.pressureLossWrgExhaust(2.0)
.pressureLossMediumSupply(2.0)
.pressureLossMediumExhaust(2.0)
.enginePowerRotor(0.0)
.dryThermalPerformance(0.0)
.ofHeatRecovery(2.0)
.wrgType(WrgType.PLATTENTAUSCHER)
.earlyPressureLossFilterSupply(2.0)
.earlyPressureLossFilterExhaust(2.0)
.dimensioningPressureLossFilterSupply(2.0)
.dimensioningPressureLossFilterExchaust(2.0)
.referenceConfigurationFilterSupply(false)
.referenceConfigurationFilterExhaust(false)
.additionalFilterStageSupply(false)
.additionalFilterStageExhaust(false)
.hepaFilterSupply(false)
.hepaFilterExhaust(false)
.gasFilterSupply(false)
.gasFilterExhaust(false)
.highPerformanceCondenserSupply(false)
.highPerformanceCondenserExhaust(false)
.heightInnerDimensionSupply(2.0)
.heightInnerDimensionExhaust(2.0)
.depthInnerDimensionSupply(2.0)
.depthInnerDimensionExhaust(2.0);
calculationMapperImpl = new CalculationMapperImpl();
calculationDTO = calculationMapperImpl.calculationToCalculationDTO(calculation);
calculationResult = new CalculationResult();
calculationResult.setRealAreaSA(0.00);
calculationResult.setRealAreaEA(0.00);
calculationResult.setRealAirVelocitySA(138.89);
calculationResult.setRealAirVelocityEA(138.89);
calculationResult.setCheckedVClassSA("V9");
calculationResult.setCheckedVClassEA("V9");
calculationResult.setDeclaredVClassSA("V4");
calculationResult.setDeclaredVClassEA("V4");
calculationResult.setpMRefSA(0.00);
calculationResult.setpMRefEA(0.00);
calculationResult.setpMMaxSA(0.00);
calculationResult.setpMMaxEA(0.00);
calculationResult.setpClassSA("-");
calculationResult.setpClassEA("-");
calculationResult.setPressureLossWrg(4);
calculationResult.setPressureLossMedium(0);
calculationResult.setRatedAirVolume(2);
calculationResult.setDryThermalPower(0.00);
calculationResult.setAuxiliaryPower(0.00);
calculationResult.setElectricalPowerInput(0.00);
calculationResult.setPerformanceReferenceNumber(72.29);
calculationResult.setEfficiency(1.97);
calculationResult.sethClass("H6");
calculationResult.setpSfpVSA(3600000.00);
calculationResult.setpSfpVEA(3600000.00);
calculationResult.setExtraPSfpSA(0);
calculationResult.setExtraPSfpEA(0);
calculationResult.setSfpVClassSA("SFP7");
calculationResult.setSfpVClassEA("SFP7");
calculationResult.setSystemEfficiencySA(0.00);
calculationResult.setSystemEfficiencyEA(0.00);
calculationResult.setInternalPressureLossSA(2);
calculationResult.setInternalPressureLossEA(2);
calculationResult.setInternalPressureLossTotal(4);
calculationResult.setSfpIntSA(3600000);
calculationResult.setSfpIntEA(3600000);
calculationResult.setSfpIntTotal(7200000);
calculationResult.seteBonus2016(0);
calculationResult.seteBonus2018(0);
calculationResult.setfCorrection2016(360);
calculationResult.setfCorrection2018(340);
calculationResult.setSfpMax2016(840);
calculationResult.setSfpMax2018(760);
calculationResult.setAchieved2016(false);
calculationResult.setAchieved2018(false);
pdfGenerator = new PDFGenerator(calculationDTO, calculationResult, langval, messageSource, name);
}
@Test
public void compareFilesTest() throws IOException
{
System.out.println(calculation);
File f1 = new File("../PDFData/testPDF.pdf");
File f2 = new File("../PDFData/testPDF2.pdf");
boolean areSame = FileUtils.contentEquals(f1, f2);
System.out.println("Files were compared...");
assertTrue(areSame);
}
}
PDFGeneratorがtestPDF2.pdfファイルを作成し、それを保存します。ここでは
は、テストコードです。
UPDATE 追加します。configへ
@PropertySource("classpath:/src/main/resources/i18n/messages_de.properties")
はあまりしませんでした。私はまた、
Locale locale = Locale.GERMAN;
に
String locale = "de"
からロケールを変更して、私はラインで投げた:
System.out.println(messageSource.getMessage("pdf.klasse", null, this.locale));
直接テストの初めに。私は同じエラーが発生します。それは問題をファイルを見つけることではなく、それを読むことにあるようだ。お使いの設定で
です。 –