Дорогой, все, что я пытаюсь выполнить для тестирования этого кода, но он продолжает терпеть неудачу.Как написать единичный тест для текста с возвратом.Split
public string[] StringArray(string text)
{
return text.Split(',').Select(x => x.Trim()).Select(x => x.Remove(0, 1).Remove(x.Length - 2, 1)).ToArray();
}
Я получаю сообщение об ошибке:
System.ArgumentOutOfRangeException: StartIndex cannot be less than zero. Parameter name: startIndex
Я немного новичок в этом и пытались уже много вариантов, но тест держит неудачу. Есть ли у кого-нибудь предложения? Это тест, который я написал, и, возможно, все это неправильно, но я думаю, что ошибка, может быть, на моем входе? Очень понравилась бы помощь.
[TestClass]
public class ContextHelperTests
{
private ContextHelper _instance;
private string _removeText = "4, 324, 123";
private string[] _expectedOutput1 = new string[] { "4", "324", "123"};
[TestInitialize]
public void Initialize()
{
_instance = new ContextHelper();
}
[TestMethod]
public void ContextHelper_ItemsInOutput_RemoveText()
{
// Arrange
var expectedResult = new string[] { "4", "324", "123" };
// Act
var result = _instance.StringArray(_removeText);
// Assert
Assert.AreEqual("4, 324, 123", result.Length);
CollectionAssert.AreEqual(result, _expectedOutput1);
}
}
Ваш раскол выглядит намного сложнее, чем необходимо. 'string.Split (", ")' на самом деле будет достаточно для вашего тестового примера. – nbokmans