You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Javascriptのロジックテストが必要になったのですが、大仰な環境を作るコストも時間もなく、要件的に他のライブラリを組み込む事も難しかったので、普通のChromeのみで出来るテスト環境を構築してみました。 1. 前提条件 Javascriptのみのロジックテスト(画面操作等は行わない) 他ライブラリは使わない インストールは行わない(テスト用の環境構築不要) WindowsとMacで動く事 ブラウザはChrome テストデータと回答はCSVで用意する 2. 選定 上記条件を満たせそうなものとして、JasmineとQUnitが候補にあがりました。 Jasmine vs QUnit detailed comparison as of 2017 - Slant Qunitの方が学習コストが少なそうでしたが、今後の拡張性を考えてJasmineを選択しました。 3. Jasminの導入 Jasm
いまだにAtomは、Specにjasmine1.3と使っています。 jasmineを覚えようと思いましたが、古い仕様を覚える気にはならないので最新バージョンを使える方法を調べました。 この記事では、CoffeeScriptを使わずにJavaScriptを使います。 カスタムテストランナーとしてatom-jasmine2-test-runnerを登録 現状、jasmine2を動かすには、カスタムテストランナーとしてjasmine2を動かせるランナーを作って渡してやる必要があるようです。 自作のランナーを作成するのは大変なので既存のランナーを使います。 npmパッケージにatom-jasmine2-test-runnerがありますのでそれを使います。 一番簡単な使い方は、package.jsonに以下を記述することです。 { "name": "my-package", // ... "atom
用意するもの npm で以下のモジュールをインストールする jasmine selenium-webdriver どうにかしてchromedriverを入手する(Chromeで試したい場合) chromedriverという名前で(windowsだとchromedriver.exeかな?)カレントフォルダに置いておく(ほかにいい感じに管理する方法があれば教えてください・・・!) こう書く シンプルに書いています。(ほんとはasync/awaitで書きたいけど) var wd = require("selenium-webdriver"); describe("e2e test", function() { var driver; beforeAll(function () { // デフォルトだと、5秒しか待ってくれないので、20秒くらい待たせる jasmine.DEFAULT_TIMEOU
はじめに Angularでユニットテストを作成したときに使用したjasmineの使い方をメモしていきます。 alertが表示されることをテスト beforeEach(() => { // アラートの監視 spyOn(window, 'alert'); }); it('〇〇な場合、対応するアラートを表示するべきである', () => { // テストを実行 component.testSample(); // テスト結果検証 expect(window.alert).toHaveBeenCalledWith('エラー'); }); it('〇〇な場合、アラートを表示するべきでない', () => { // テストを実行 component.testSample(); // テスト結果検証 expect(window.alert).not.toHaveBeenCalled(); }); let
ng test はとても便利ですが、「今はこのテストケースだけ実行したいのに!」ということや、逆に、「このテストケースはうまく動かないけどしばらく無視しておきたいのに!」ということがあります。 その辺の機能が用意されています! まぁAngularというかJasmineの機能なんですけど…。 このテストだけ実行 describe そして it の代わりに fdescribe そして fit を使います。 "f" は "focused" の意味です。 focused_specs.js コード例 fdescribe(() => { // このテストスイートだけを実行 fit(() => { // このテストケースだけを実行 }); it(() => { // このテストケースは(特記ないので)スキップ }); }); このテストだだけは実行しない describe そして it の代わりに xd
ラクス Advent Calendar 2017の17日目です。 昨日は @Black-Spider さんの「Spring Batch + MyBatisでテーブルパーティション毎に並列処理を行う方法」でした。 こんにちは。@morihirokです。HR事業部でビアバッシュの幹事をするなどしています。 仲良くしてください! JavaScriptのテスト概論 まずはじめにこちらの記事をご覧ください。 2017年JavaScriptのテスト概論 お時間の無い方向けに上記記事を一部引用いたします。 テストツールの種類 テストツールは次の2つの機能に分けられます。単一の機能を提供するツールもあれば、複数の機能の組み合わせを提供するツールもあります。 理論的には単一のツールで同じ成果を出せるとしても、よりニーズに合った機能を入手するために、複数のツールを組み合わせて使用するのが一般的です。 テストの
npmのインストールからJasmine-nodeでJavaScriptのテストを実行するまでのメモ 1.npmのインストール 下記のURLよりNode.jsをダウンロード、インストールしてください https://nodejs.org/en/ 2.Jasmine-nodeのインストール 3.テストを作成 テスト対象JS("Hello Jasmine-node"の文字列を返すfunctionをもつJS) テストコード(testFunctionが存在していることと、返り値が期待値と同じであることを確認) フォルダ階層 テストコード(test.jsの一つ下の階層として"spec"フォルダを作成し、その下にテストコードtesSpec.jsを作成) 4.テスト実行 下記のコマンド実行(specフォルダ内でテストスクリプトを指定して実行する)
it("The 'toThrowError' matcher is for testing a specific thrown exception", function() { var foo = function() { throw new TypeError("foo bar baz"); }; expect(foo).toThrowError("foo bar baz"); expect(foo).toThrowError(/bar/); expect(foo).toThrowError(TypeError); expect(foo).toThrowError(TypeError, "foo bar baz"); });
当記事におけるJavaScriptのコードは、クライアントサイドで動くことを想定されているものとします。 Jasmineのversionは 3.0 以上とします(3.0未満に関しては特に動作を確認してないため)。 関数内にglobal変数が入っている場合にテストを行う事態に遭遇し、そのときにおこなった方法の備忘録です。 通常の場合 JavaScriptで以下の関数をテストしたいとします。
概要 ServiceNowのAutomated Test FrameworkでRun Server Side Scriptのテストを作成すると、作成したテスト設定のTest Script欄にコメントで詳細なテスト方法が記述されている、その内容を読み解きながら実際に試してみる。 本題 Jasmineとの住み分け // You can use this step to execute a variety of server-side javascript tests including // jasmine tests and custom assertions jasmineとServiceNowの独自のテストフレームワークの2種類を使用する事が出来る。 ServiceNowのテスト機能を最大限に活用するには、ServiceNow のテスト機能を使うのが良いだろう。 戻り値について // P
はじめに TypeScript + RxJS で WebSocket 接続をして切断時に自動で再接続をする方法を記載する RxJS 6 の場合 retry を使って WebsocketSubject のエラーをハンドリングするだけでできるらしい。 https://stackoverflow.com/questions/44060315/reconnecting-a-websocket-in-angular-and-rxjs RxJS 5.5 の場合 Subject を拡張して自動再接続する WebSocket 接続を提供する Subject を作成する 参考サイト: https://gearheart.io/blog/auto-websocket-reconnection-with-rxjs-with-example/ import { Subject } from 'rxjs/Subje
This page is for an older version of Jasmine (2.1) The current stable version of Jasmine is: 3.10 - You can also look at the docs for the next release: Edge Jasmine is a behavior-driven development framework for testing JavaScript code. It does not depend on any other JavaScript frameworks. It does not require a DOM. And it has a clean, obvious syntax so that you can easily write tests. This guide
用意するもの npm で以下のモジュールをインストールする jasmine selenium-webdriver どうにかしてchromedriverを入手する(Chromeで試したい場合) chromedriverという名前で(windowsだとchromedriver.exeかな?)カレントフォルダに置いておく(ほかにいい感じに管理する方法があれば教えてください・・・!) こう書く シンプルに書いています。(ほんとはasync/awaitで書きたいけど) var wd = require("selenium-webdriver"); describe("e2e test", function() { var driver; beforeAll(function () { // デフォルトだと、5秒しか待ってくれないので、20秒くらい待たせる jasmine.DEFAULT_TIMEOU
テストランナーとは、様々なブラウザでテストを実行し、その結果をまとめてレポートするためのツールを指します。Karma は Node.js 上で動作するテストランナーです。元々はTestacular という名称で Google が AngularJS の開発で使うために作ったものですが、2012 年にオープンソース化されたタイミングで業 ( カルマ ) を背負った名称に変わりました。 Karma - Spectacular Test Runner for Javascript 本記事では、Jasmine をベースにしてテストコード ( 実処理 ) を記述し、それらを Karma から実行してレポート ( テスト結果 ) を確認するという流れで進めていきたいと思います。 環境構築 前提条件 Mac OS X Yosemite node.js インストール済み (v5.4.0 ~) npm イン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く