質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

5451閲覧

ASP.NET Web Formsのテスト方法を知りたい

yokatone

総合スコア43

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2019/04/25 00:21

前提・実現したいこと

ASP.NET Web Formsで作ったプロジェクトに対して
単体テスト/結合テストを行いたい

発生している問題・エラーメッセージ

通常のC#, VBプロジェクトであれば
.cs/.vbファイルに対して右クリックしたコンテキストメニューに
「単体テストの追加」などの項目が出てくれるのですが、
.aspx.cs / .aspx.vbなどの、ASP.NETのプロジェクト内にあるファイルについては
これができません。

もちろん.aspx部分と中の.aspx.vb部分が不可分であるため、
片方の単体テストが仮にうまくいっても意味ないよ...という意味合いだとは思いますが、
それであれば.aspx + .aspx.vbを合わせた結合テストを行いたいと思っています。

しかしながらVisualStudio上でそれを行えるような項目が見当たらず、
またネットを探してもASP.NET MVCでのテスト方法しか記述がありません。

なんとなくSelenium + Mochaなどのツールを使って、HTML + Javascriptの時のような形で
テストを行う必要があるのかな?と思っておりますが、
詳しいことをご存知の方おられましたら、
ASP.NET Web Formのテスト方法について教えていただけませんでしょうか?

補足情報(FW/ツールのバージョンなど)

VS2008
.NET3.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ASP.NET Web Forms では MVC のような単体テストはできません。

理由は以下の通りです。

(1) ASP.NET Web Forms は Page クラスを中心としたフレームワークです。Page クラスは直接インスタンス化することはできず、テストに当たってもサーバー環境(ASP.NET 開発サーバー、IIS Express、IIS)を準備してその上で動かす必要があります。

(2) ボタンクリック、フォーム要素の変更、グリッドの行クリックなどにより発生するイベントは ViewState とポストバックにより実現されますが、それらはブラウザがないとできません。

投稿2019/04/25 02:05

編集2019/04/25 02:06
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yokatone

2019/04/25 06:16

ありがとうございます。ブラウザを直接操作する形での結合試験しかできないんですね。 もしよかったら、ASP.NET Web Formsの結合テストを行う際に 標準で用いられるやり方があれば教えてください。 Seleniumくらいしか思いつかないのですが、あまりIEで使われてるイメージがなく、 Microsoftだったら標準で何か用意してくれているような気がしております。。
退会済みユーザー

退会済みユーザー

2019/04/25 06:49 編集

> ASP.NET Web Formsの結合テストを行う際に標準で用いられるやり方があれば教えてください。 自分は使ったことがないので多くは語れませんが、Visual Studio Team System Test Edition というのがあって、その Web テスト機能を使ってブラウザ経由でのテスト手順を自動化できるそうです。 ただ、サーバーコントロールの ID 値を一つ変えただけでもテストの再設定をしなければならないなど、アプリの変更による影響を受けやすいという問題があるそうです。 それ以外は自分は知りません。ご自分でググるなどして調べてください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問