Jasmineで直接CoffeeScriptのコードをテストする方法

使い勝手

やってみておいてアレだが、やっぱこの方法だとCoffeeScriptのSyntaxError行がわからないしデバッグ実行できないと不便すぎるので、実用性は薄い。

変更した点

ダウンロードしたスタンドアロン版のjasmineのSpecRunner.htmlに以下の変更を加える。
・coffee-script.js の読み込みを追加
・type="text/coffeescript"のscriptタグで、CoffeeScriptソース、Specファイルを読み込む
CoffeeScriptのコードはロード時に変換後実行されるため、jasmineEnv.executeはロード時ではなく、そのまま実行するようにする

SpecRunner.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>Jasmine Spec Runner</title>

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <link rel="shortcut icon" type="image/png" href="lib/jasmine-1.3.1/jasmine_favicon.png">
  <link rel="stylesheet" type="text/css" href="lib/jasmine-1.3.1/jasmine.css">
  <script type="text/javascript" src="lib/jasmine-1.3.1/jasmine.js"></script>
  <script type="text/javascript" src="lib/jasmine-1.3.1/jasmine-html.js"></script>
  <script src="lib/coffee-script.js"></script>

  <!-- include source files here... -->
  <script type="src/coffeescript" src="src/TestClass.coffee"></script>

  <!-- include spec files here... -->
  <script type="spec/coffeescript" src="spec/TestClassSpec.coffee"></script>

  <script type="text/coffeescript">
    jasmineEnv = jasmine.getEnv();
    jasmineEnv.updateInterval = 1000;
    
    htmlReporter = new jasmine.HtmlReporter();
    
    jasmineEnv.addReporter(htmlReporter);
    
    jasmineEnv.specFilter = (spec) ->
      return htmlReporter.specFilter(spec);
    
    jasmineEnv.execute();
  </script>
</head>

<body>
</body>
</html>