아니요, 새 클래스를 만들 필요가 없습니다. 다음은 (단위 테스트) 예제입니다.
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;
namespace UnitTestProject
{
[TestClass]
public class UnitTest
{
public class Factorial
{
Dictionary<int, long> store = new Dictionary<int, long>();
public long Get(int number)
{
if (store.ContainsKey(number))
{
return store[number];
}
if (number == 0)
{
store.Add(0, 1);
return 1;
}
var result = number * Get(number - 1);
store.Add(number, result);
return result;
}
}
[TestMethod]
public void SomeTest()
{
// Arrange
var target = new Factorial();
var results = new List<long>();
// Act
for (int i = 10; i >= 0; i--)
{
results.Add(target.Get(i));
}
// Assert
}
}
}
아니요, 다른 인스턴스를 만들 필요가 없습니다. 메소드'Foo'는 현재 인스턴스의 컨텍스트에서 실행되므로 당연히 내부에서'Foo'를 호출 할 때 인스턴스를 지정할 필요가 없습니다. –