using System; using System.Collections.Specialized; namespace CommonTest { [TestClass()] public class ConfigUtilTest { private TestContext testContextInstance; private TestContext TestContext { get { return testContextInstance; } set { testContextInstance = value; } } [TestMethod()] public void GetSettingsTest() { Assert.AreEqual("Value1", ConfigUtil.GetSettings("testSettings", "Key1"), "Key1"); Assert.AreEqual("Value2", ConfigUtil.GetSettings("testSettings", "Key2"), "Key2"); Assert.IsNull(ConfigUtil.GetSettings("testSettings", "Key3")); Assert.IsNull(ConfigUtil.GetSettings("aaa", "Key1")); Assert.AreEqual("ValueA", ConfigUtil.GetSettings("KeyA"), "KeyA"); Assert.IsNull(ConfigUtil.GetSettings("KeyB")); } [TestMethod()] public void GetSectionTest() { Assert.IsNull(ConfigUtil.GetSection(null), "セクションキーがnull"); Assert.IsNotNull(ConfigUtil.GetSection("testSettings"), "セクションキーがnullでない"); } } internal class TestContext { } class TestClassAttribute : Attribute { } class TestMethodAttribute : Attribute { } class Assert { internal static void AreEqual(string v1, object p, string v2) { throw new NotImplementedException(); } internal static void IsNotNull(object v1, string v2) { throw new NotImplementedException(); } internal static void IsNull(object v) { throw new NotImplementedException(); } internal static void IsNull(object v1, string v2) { throw new NotImplementedException(); } } class ConfigUtil { internal static object GetSection(object p) { throw new NotImplementedException(); } internal static object GetSettings(string v1, string v2) { throw new NotImplementedException(); } internal static object GetSettings(string v) { throw new NotImplementedException(); } } } ``````### 前提・実現したいこと Visual Studio2010から2017への移行作業の過程、単体テストプロジェクトにエラーが発生しました。 このエラーを回避するには、どのように追記・修正すればよろしいでしょうか_ ### 発生している問題・エラーメッセージ
CS5001 プログラムは、エントリポイントに適切な静的'Main'メソッドを含んでいません。
### 該当のソースコード C# ソースコード
試したこと
static void Main()を追記しましたが、{}の閉じる部分がどこに記述してもエラーとなります。
補足情報(FW/ツールのバージョンなど)
当方、C#をはじめオブジェクト指向言語は初心者です。
ご指摘があった場合には適当な表現で返答できないかもしれませんが、
精一杯返答・捕捉させていただきます。
よろしくお願いします。
コードはマークダウンボタン (<code>ってやつです)を押したらでてくる
```ここに言語を入力
コード
```
↑の枠の中のコードという文言を消して貼りつけてください。
「ここに言語を入力」という文字を消して使っている言語名を記述してください
ご指摘、ご説明、ありがとうございます。
他にも何かございましたら、よろしくお願いします。
そもそも単体テストプロジェクトに'Main'メソッドは無いのです。
何をしたとき、どんなタイミングでエラーが発生しましたか?
元のコードを貼ります。
これはVisual Studio2010ではビルドできていたもので、2017で新規にテストプロジェクトを作成しコピペしたところ、先述のエラーが出ました。
他にもエラーが多数出ましたが、Visual Studioが教えてくれる解決策に従って進めて、他のエラーは消えました。
何のためのアプリかは多少わかっているのですが、そもそも単体テストプロジェクト自体の意味合いや動作を理解できていないので、恐縮ながら質問させていただいた次第です。
---- 元のコード(Visual Studio2010) ----
using XXXX.XXXXXX.Common.Util;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Specialized;
namespace CommonTest
{
[TestClass()]
public class ConfigUtilTest
{
private TestContext testContextInstance;
public TestContext TestContext
{
get
{
return testContextInstance;
}
set
{
testContextInstance = value;
}
}
[TestMethod()]
public void GetSettingsTest()
{
Assert.AreEqual("Value1",ConfigUtil.GetSettings("testSettings", "Key1"), "Key1");
Assert.AreEqual("Value2", ConfigUtil.GetSettings("testSettings", "Key2"), "Key2");
Assert.IsNull(ConfigUtil.GetSettings("testSettings", "Key3"));
Assert.IsNull(ConfigUtil.GetSettings("aaa", "Key1"));
Assert.AreEqual("ValueA", ConfigUtil.GetSettings("KeyA"), "KeyA");
Assert.IsNull(ConfigUtil.GetSettings("KeyB"));
}
[TestMethod()]
public void GetSectionTest()
{
Assert.IsNull(ConfigUtil.GetSection(null), "セクションキーがnull");
Assert.IsNotNull(ConfigUtil.GetSection("testSettings"), "セクションキーがnullでない");
}
}
}
回答2件
あなたの回答
tips
プレビュー