@akass
Developer

В каком языке программирования легче всего писать тесты?

Кроме обычных популярны с++ и java , есть ли какой-то язык ,выбрав который можно легко и быстро писать тесты?(unit)
Поясняю , дали задание написать функцию , покрыть тестами ,оценить покрытие.Выбираю язык для комфортного выполнения ,с тестами не сталкивался еще.Готов изучать с нуля.
  • Вопрос задан
  • 4613 просмотров
Решения вопроса 1
@azShoo
На почти любом языке можно комфортно писать тесты, фреймворков и библиотек для этого дела навалом.
Например: пайтон - pyunit, py.test, robot framework, selenium
C# - тот же селениум, nunit, тестнг.
Тесты на Javа, как уже говорилось выше, тоже вполне просто пишете.

В общем тут скорее надо выбрать язык, который вы знаете\вам нравится\хотелось бы изучить по каким-то причинам\на котором удобнее реализовать нужную вам функцию, а дальше нагуглить фреймворк для юнит-\авто- тестов на данном языке.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Mingun
Мне кажется, Jasmine для JavaScript идеально подойдет. Тест выглядит так (кусок теста из проекта PEGjs):
describe("compiler pass |generateBytecode|", function() {
  var pass = PEG.compiler.passes.generate.generateBytecode;

  function bytecodeDetails(bytecode) {
    return {
      rules: [{ bytecode: bytecode }]
    };
  }
  describe("for rule", function() {
    it("generates correct bytecode", function() {
      // Функция toChangeAST -- специально написанное расширение.
      // Так можно написать любую тестирующую функцию
      expect(pass).toChangeAST('start = "a"', bytecodeDetails([
        14, 0, 2, 2, 18, 0, 19, 1   // <expression>
      ]));
    });
  });
});

Из удобств -- тесты можно запускать как под Node.js, так и в браузере, выглядит удобно.
Ответ написан
Комментировать
@Div100
На Java вполне удобно писать, пример из Вики:
import org.junit.Test;
import junit.framework.Assert;
 
public class MathTest {
    @Test
    public void testEquals() {
//указываем что значения должны быть равными
        Assert.assertEquals(4, 2 + 2);
        Assert.assertTrue(4 == 2 + 2);
    }
 
    @Test
    public void testNotEquals() {
//указываем что значение должно должно быть false
        Assert.assertFalse(5 == 2 + 2);
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы