i have class used map values passed in via rest json object. front end javascript making values strings passed in. using spring , jackson if needed string values, works fine. however, have field need convert int. since possible submit unparseable string, i've got in try/catch block should throw formatnumberexception. have test method supposed testing make sure error thrown. however, it's not catching it, , throwing exception should, test still failing. assistance appreciated.
this code method in myclass: public void setmaxnumoffiles(string value) // throws numberformatexception {
try { this.maxnumoffiles = integer.parseint(value); } catch (numberformatexception e) { e.printstacktrace(); } } i've got throws part commented out last try did.
code test: public void setmaxnumoffiles(string value) // throws numberformatexception {
try { this.maxnumoffiles = integer.parseint(value); } catch (numberformatexception e) { e.printstacktrace(); } } pretty simple thought. below console given me when run test:
{ java.lang.numberformatexception: input string: "foo" @ java.lang.numberformatexception.forinputstring(numberformatexception.java:65) @ java.lang.integer.parseint(integer.java:580) @ java.lang.integer.parseint(integer.java:615) ... passed: setmaxnumoffilesshouldsettoandintegerifpassedstring failed: setmaxnumoffilesshouldthrowexceptionifpassedinunparseablestring org.testng.testexception: method headerquerytest.setmaxnumoffilesshouldthrowexceptionifpassedinunparseablestring()[pri:0, instance:test.visa.casanalytics.model.headerquerytest@47f37ef1] should have thrown exception of type class java.lang.numberformatexception @ org.testng.internal.invoker.handleinvocationresults(invoker.java:1405) @ org.testng.internal.invoker.invokemethod(invoker.java:690) @ org.testng.internal.invoker.invoketestmethod(invoker.java:834) @ org.testng.internal.invoker.invoketestmethods(invoker.java:1142) @ org.testng.internal.testmethodworker.invoketestmethods(testmethodworker.java:124) @ org.testng.internal.testmethodworker.run(testmethodworker.java:108) @ org.testng.testrunner.privaterun(testrunner.java:771) @ org.testng.testrunner.run(testrunner.java:621) @ org.testng.suiterunner.runtest(suiterunner.java:357) @ org.testng.suiterunner.runsequentially(suiterunner.java:352) @ org.testng.suiterunner.privaterun(suiterunner.java:310) @ org.testng.suiterunner.run(suiterunner.java:259) @ org.testng.suiterunnerworker.runsuite(suiterunnerworker.java:52) @ org.testng.suiterunnerworker.run(suiterunnerworker.java:86) @ org.testng.testng.runsuitessequentially(testng.java:1176) @ org.testng.testng.runsuiteslocally(testng.java:1101) @ org.testng.testng.run(testng.java:1009) @ org.testng.remote.remotetestng.run(remotetestng.java:111) @ org.testng.remote.remotetestng.initandrun(remotetestng.java:204) @ org.testng.remote.remotetestng.main(remotetestng.java:175) =============================================== default test tests run: 35, failures: 1, skips: 0 =============================================== =============================================== default suite total tests run: 35, failures: 1, skips: 0 =============================================== [testng] time taken org.testng.reporters.emailablereporter2@77afea7d: 22 ms [testng] time taken org.testng.reporters.xmlreporter@3d04a311: 25 ms [testng] time taken org.testng.reporters.suitehtmlreporter@299a06ac: 262 ms [testng] time taken [failedreporter passed=0 failed=0 skipped=0]: 22 ms [testng] time taken org.testng.reporters.junitreportreporter@5f8ed237: 12 ms [testng] time taken org.testng.reporters.jq.main@2e5c649: 83 ms }
get rid of catch , try , let exception thrown, add throws test method. add exception in expectedexceptions. test method pass after receiving expected exception
Comments
Post a Comment