2005年07月25日
川俣晶の縁側ソフトウェア技術雑記total 3282 count

Managed C++で書かれたテストクラスをNUnitが発見できない問題の原因と解決

Written By: 川俣 晶連絡先

問題 §

 Visual Studio.NET 2003を使用し、Managed C++を用いて、NUnit用のテストクラス、テストメソッドを作成した。

 しかし、実際にNUnitでテストを実行させると、テストクラスもテストメソッドもNUnitが発見できない。

原因 §

 テストクラスを宣言する際に、publicキーワードを忘れている可能性がある。

 この場合、以下のようにテストクラスを書き換えればOK。

__gc class T

↓↓↓↓↓↓↓↓

public __gc class T

このような問題が発生する理由 §

 通常、C++のクラスにはpublic修飾子を付ける構文がありません。

 Managed C++でも、__gcではないクラスには付けられません。

 それゆえに、付ける必要がないと思い込んでソースを書いていると、テストクラスもpublic修飾子を付けないで反射的に書いてしまう可能性があります。

 一般的に、外部からアクセス可能な__gcクラスを宣言するにはpublic修飾子が必要とされますが、同じ理由によりうっかり書き忘れの可能性があり得ます。

 ってか、まさに私がそのようなパターンではまりました (汗。

 未来の自分が困らないために、ここにメモっておこう。

Facebook

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20050725010546
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.