- 締切済み
テストケースが上手くいきません。
ソースを以下に示します。 package sample.hello; import java.io.File; import java.util.HashMap; /public class EmployeeMapFactory { private EmployeeMapFactory(){} private String directoryPath; public EmployeeMapFactory(String directoryPath) { this.directoryPath = directoryPath; } public EmployeeMap createEmployeeMap() { // 故意にテストを成功させるメソッドの実装 java.util.Map employeeMap = new HashMap(); File xmlFile = new File(directoryPath); Employee emp = new Employee("01","オープンソース 太郎","Manager","999888777"); employeeMap.put("01", emp); return new EmployeeMap(employeeMap); } } 次がテストを実行するためのソースです。 package sample.hello; import junit.framework.TestCase; import sample.hello.Employee; import sample.hello.EmployeeMap; import sample.hello.EmployeeMapFactory; public class EmployeeMapFactoryTest extends TestCase { /** * Constructor for EmployeeMapFactoryTest. * @param arg0 */ public EmployeeMapFactoryTest(String arg0) { super(arg0); } public void testCreateEmployeeMap() throws Exception { //このテストケースメソッドを記述していきます。 EmployeeMapFactory eFactory = new EmployeeMapFactory("employee.xml"); EmployeeMap eMap = eFactory.createEmployeeMap(); Employee e01 = eMap.getEmployee("01"); assertEquals("[01,オープンソース 太郎,Manager,999888777,null]", e01.toString()); } } どこが間違っているのか分かる方どうか教えて頂ければ、と思っています。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- liar_adan
- ベストアンサー率48% (730/1515)
「うまく通ればいい」というのがどういう意味なのかわかりませんが、 察するに、 EmployeeMapというクラスで保持しているEmployeeの01番を 文字列にしたものが [01,オープンソース 太郎,Manager,999888777,null] と同じになるはずなのに違っているということでしょうか。 うーん。やっぱりこれだけではわかりません。すみません。 バグっていうのは、見つけてしまえば「なーんだ」という所にあることが多いようです。 println(e01.toString()); としてみて、コンソールに出した文字列が [01,オープンソース 太郎,Manager,999888777,null] と等しいかどうか…の段階から確かめてみたらどうでしょう。
- liar_adan
- ベストアンサー率48% (730/1515)
字数制限で苦労されているのはわかるのですが、 ソースが提示されているだけでは解いてみようという気になりません。 環境が違うのだからコンパイルできるわけでもありません。 補足欄に、どういうエラーが出たのか記述してください。 それから、これはたぶんただの誤植だと思うのですが、 /public class EmployeeMapFactory { についている変な/は何なのでしょうか。 ソースにあるのなら取り除くべきものです。
お礼
今更ではありますが、最近になって回答者にお礼をしない事がどれだけ失礼な事かを感じまして書く次第であります。 補足だけしといて、肝心なお礼の言葉をしていませんでした。 この問題は恐らく解決したんだと思います。 もう古い話ですが、この時はプログラマーになるために燃えていました。 今は灰になりましたが・・・・・・。チ~~~ン!
補足
全く仰るとおりです。 『/』の部分はコメントの消し忘れです。 どうもあいすみません。 テスト結果としては ”[01,オープンソース 太郎,Manager,999888777,null]”が上手く通ればいいのですが、どうしても失敗になってしまいます。エラーではないので――その違いもあまり分からないのですが――ソースコードが間違っているわけではないと思うのですが、どうなのでしょう??? これだけでは無理でしょうか。
お礼
今更ではありますが、最近になって回答者にお礼をしない事がどれだけ失礼な事かを感じまして書く次第であります。 色々とアドバイスを頂きながら、お礼の一言もしていないとは恥ずかしい限りです。 相当昔の事なのでこの後どうなったか覚えていませんが、最終的には上手くいったのではないか、と思います、多分。