Можете Вы Модульный тест Запутываемый Код?

Вы можете сделать настольное приложение из проекта Javascript с Electronjs. Вы можете читать и манипулировать файлами тоже.

Например, VSCode или Spotify сделаны так же.

Отметьте https://electronjs.org/ , если интересно.

Есть несколько хороших видео на YouTube, чтобы начать с нуля. Это немного времени, чтобы узнать об этом и начать базовый проект, но если у вас есть базовые знания JavaScript, это может быть хорошей отправной точкой.

6
задан Nathan Voxland 20 March 2009 в 20:26
поделиться

3 ответа

Можно ли сказать этому выполнять obfuscator, таким образом, что это эффективно осуществляет рефакторинг код включая ссылки от тестов (т.е. когда производство смены имени, тестовый код изменяет свою ссылку) но не запутывать сами тесты (т.е. не меняйте имена тестовых классов или их методов)? Учитывая предыдущий опыт с obfuscators я ожидал бы, что это будет работать.

Так, например, предположите, что мы не запутали источник:

public class ProductionCode
{
    public void productionMethod() {}
}

public class ProductionCodeTest
{
    public void testProductionMethod()
    {
        new ProductionCode().productionMethod();
    }
}

Вы хотите установить опции obfuscator сделать его эффективно:

public class Xyzzy
{
    public void ababa() {}
}

public class ProductionCodeTest
{
    public void testProductionMethod()
    {
        new Xyzzy(). ababa();
    }
}

Тот путь Ваш "выполненный тесты" задачи Ant должен смочь остаться таким же, потому что API тестов не изменился - просто реализация методов.

3
ответ дан 10 December 2019 в 00:44
поделиться

obfuscator не должен изменять Ваши общедоступные вызовы. Кажется, что эй должен запустить другие тесты перед путаницей, потому что они проверяют внутреннюю функциональность, которая не должна изменяться после путаницы.

Так, если это так, почему не только запускает тесты та функциональность общественности вызова? Все, что необходимо сделать, имеют отдельный класс с теми вызовами и восстанавливают его с помощью запутываемого кода и затем выполняют это dll.

0
ответ дан 10 December 2019 в 00:44
поделиться

Я использую yguard (это свободно, который является, почему я упоминаю это).

Необходимо смочь сказать obfuscator не запутывать определенные вещи (смотрящий здесь, что кажется, что Вы можете).

Некоторые как другие сказали, не запутывайте тесты, но действительно запутайте остальных.

Однако я предложил бы, чтобы Вы сделали следующее:

  1. скомпилировать
  2. сотрясайте незапутываемые файлы (при желании)
  3. протестируйте незапутываемые файлы
  4. если они проходят тесты, затем запутывают банку запутываемые файлы
  5. протестируйте запутываемые файлы

Это будет медленнее, но если тесты перестанут работать на шаге 3, то будет легче зафиксировать (потенциально) и если тесты перестали работать в 5 затем, Вы знаете, что существует проблема с путаницей не Ваш исходный код.

7
ответ дан 10 December 2019 в 00:44
поделиться
Другие вопросы по тегам:

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