image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« ピックアップ: アウトラインとマインドマッピングをこなす, GCCのプリプロセッサの動きをみて遊ぶ, etc... | トップページ | ピックアップ:世界中のオタク部屋, 「戦略的OS」の開発がことごとく失敗している点, etc... »

2009-04-06

xmlunit の調査

テストで xml を比較する必要があり、調べていたら、
- http://www.infoq.com/jp/articles/xml-unit-test
> InfoQ: XMLをユニットテストする
を見つけた。そのなかで xmlunit が説明されている。

java で xmlnunit を利用する例を以下に置いた。
- http://homepage2.nifty.com/youichi_kato/src.html
> xmlunit のサンプル(2009-04-05)
>    my-xmlunit-2009-04-05.tgz
>    xml の比較ツールの利用例。これを xfy から xvcd から使えるようにすることでテストに利用できる。

jruby からの利用を試みたが、うまくいかなかった。

$ cat SampleTest.rb

require 'pp'
require 'java'
require 'junit-3.8.2.jar'
import 'junit.framework.TestCase'
import 'junit.framework.TestSuite'
import 'junit.textui.TestRunner'
import 'junit.framework.Assert'

class SampleTest < TestCase

  def initialize
    super
  end

  def setUp
    pp "----- setUp"
  end

  def tearDown
    pp "----- tearDown"
  end

  def testFoo
    pp "----- testFoo"
    #Assert::assertTrue(true)
  end

end

t = SampleTest.new
t.setName('testFoo')

TestRunner::run(t)

実質的には何もしていないコードであるが、
実行すると、次のようになる。
$ jruby SampleTest.rb
."----- setUp"
"----- tearDown"
F
Time: 0.009
There was 1 failure:
1) testFoo(org.jruby.proxy.junit.framework.TestCase$Proxy0)junit.framework.AssertionFailedError: Method "testFoo" not found
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at org.jruby.javasupport.JavaMethod.invokeWithExceptionHandling(JavaMethod.java:298)
    at org.jruby.javasupport.JavaMethod.invoke_static(JavaMethod.java:278)
    at org.jruby.java.invokers.StaticMethodInvoker.call(StaticMethodInvoker.java:47)
    at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:273)
    at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:112)
    at SampleTest.__file__(SampleTest.rb:53)
    at SampleTest.load(SampleTest.rb)
    at org.jruby.Ruby.runScript(Ruby.java:577)
    at org.jruby.Ruby.runNormally(Ruby.java:480)
    at org.jruby.Ruby.runFromMain(Ruby.java:354)
    at org.jruby.Main.run(Main.java:229)
    at org.jruby.Main.run(Main.java:110)
    at org.jruby.Main.main(Main.java:94)

FAILURES!!!
Tests run: 1,  Failures: 1,  Errors: 0

となってしまう。

setUp, tearDown は呼び出されているが、
testFoo の呼び出しがうまくできていない。
refrection での java-class, jruby-class のやり取りが問題のようだが)
junit を jruby で使うことは無理なのか?
xmlunit の diff をつかって、jruby の respc や test/unit で利用するしかないのかも知れない。

« ピックアップ: アウトラインとマインドマッピングをこなす, GCCのプリプロセッサの動きをみて遊ぶ, etc... | トップページ | ピックアップ:世界中のオタク部屋, 「戦略的OS」の開発がことごとく失敗している点, etc... »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: xmlunit の調査:

« ピックアップ: アウトラインとマインドマッピングをこなす, GCCのプリプロセッサの動きをみて遊ぶ, etc... | トップページ | ピックアップ:世界中のオタク部屋, 「戦略的OS」の開発がことごとく失敗している点, etc... »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク