Возможно, более читаемый способ решить эту проблему - использовать Array#find
следующим образом:
const arr = [
{name: 'first', amount: 2},
{name: 'second', amount: 1},
{name: 'third', amount: 1}
];
const obj = {name: 'second', amount: 3};
const element = arr.find(el => el.name === obj.name);
if (element) {
element.amount += obj.amount;
} else {
arr.push(obj);
}
console.log(arr);
Найденный им:
При редактировании конфигурации тестового прогона (путем двойного щелчка по .testrunconfig файлу, который помещается в 'папку решения для ' Объектов Решения, когда Вы добавляете новый модульный тест), Вы получаете диалоговое окно конфигурации тестового прогона. Существует раздел, там назвал 'Развертывание', где Вы можете specifiy файлы или целые папки отовсюду в решении, которое может быть скопировано со скомпилированными блоками во время выполнения к корректной папке.
Таким образом я могу теперь на самом деле просто определить большую часть своей конфигурации в одном наборе внешних .config файлов и копировать их автоматически при выполнении каждого теста.
Конфигурации тестового прогона являются немного неловкими при попытке запустить тесты за пределами Visual Studio.
Для выполнения командной строки с помощью MSTest они становятся довольно громоздкими для содержания в чистоте. Они также "глобальны" к решению, таким образом, внешние файлы будут скопированы для каждого тестового проекта.
Я очень предпочитаю DeploymentItem
атрибут.
[TestMethod]
[DeploymentItem(@"test_data.file")]
public void FooTest()
{...}
Делает тесты независимыми от .testrunconfig файлов.