class App extends React.Component {
state = {
show: true
};
showhide = () => {
this.setState({ show: !this.state.show });
};
render() {
return (
<div className="App">
{this.state.show &&
<img src={logo} className="App-logo" alt="logo" />
}
<a onClick={this.showhide}>Show Hide</a>
</div>
);
}
}
Это определенно запутанная и динамичная область веб-разработки прямо сейчас. На мой взгляд, есть несколько важных отличий в функциях JS-тестирования:
a + b = 3
или что-то еще. У нас было всего несколько проблем, которые подпадают под эту категорию. При обсуждении вариантов есть множество альтернатив JSUnit (порт JUnit). Они подразделяются на TDD и BDD и варианты наименования внутри этих категорий. assertEqual (' ', $ ('div'). Wrap ('a'));
Для тестирования JS на основе DOM вам необходимо перейти на тестирование в браузере или используйте библиотеку, например env.js. Есть два места, где можно запускать тесты:
Selenium запускается в браузере, поэтому он отлично подходит для интеграционных тестов. Если у вас больше ничего не работает, это хорошая отправная точка. Это' s существует уже несколько лет и поддерживает большинство популярных браузеров и языков. Просмотр подобного скринкаста может быть полезным. И эта документация может дать вам представление о том, как будут выглядеть тесты. Есть также немало других обучающих программ и скринкастов, но многие из них увязли в техническом дуду, которое вам наплевать, поэтому вы должны быть избирательными.
Наконец, вот пример из blue ridge , который представляет собой набор инструментов, собранных вместе для тестирования вне браузера (и ручного тестирования в браузере) для Rails:
Screw.Unit(function() {
describe("Your application javascript", function() {
it("accesses the DOM from fixtures/application.html", function() {
expect($$('.select_me').length).to(equal, 2);
});
});
});
Это единственный тест, использующий тест синтаксиса, подобный rspec, который пара элементы есть. Надеюсь, это поможет!
Просмотр подобного скринкаста может быть полезным. И эта документация может дать вам представление о том, как будут выглядеть тесты. Есть также немало других обучающих программ и скринкастов, но многие из них увязли в техническом дуду, которое вам наплевать, поэтому вы должны быть избирательными.Наконец, вот пример из blue ridge , который представляет собой набор инструментов, собранных вместе для тестирования вне браузера (и ручного тестирования в браузере) для Rails:
Screw.Unit(function() {
describe("Your application javascript", function() {
it("accesses the DOM from fixtures/application.html", function() {
expect($$('.select_me').length).to(equal, 2);
});
});
});
Это единственный тест, использующий тест синтаксиса, подобный rspec, который пара элементы есть. Надеюсь, это поможет!
Просмотр подобного скринкаста может быть полезным. И эта документация может дать вам представление о том, как будут выглядеть тесты. Есть также немало других обучающих программ и скринкастов, но многие из них увязли в техническом дуду, которое вам наплевать, поэтому вы должны быть избирательными.Наконец, вот пример из blue ridge , который представляет собой набор инструментов, собранных вместе для тестирования вне браузера (и ручного тестирования в браузере) для Rails:
Screw.Unit(function() {
describe("Your application javascript", function() {
it("accesses the DOM from fixtures/application.html", function() {
expect($$('.select_me').length).to(equal, 2);
});
});
});
Это единственный тест, использующий тест синтаксиса, подобный rspec, который пара элементы есть. Надеюсь, это поможет!
но многие из них увязли в техническом дуду, о котором вы не заботитесь, поэтому вы должны быть избирательными.И, наконец, вот пример из синего гребня , который представляет собой набор вытащенных инструментов вместе для тестирования вне браузера (и ручного тестирования в браузере) для Rails:
Screw.Unit(function() {
describe("Your application javascript", function() {
it("accesses the DOM from fixtures/application.html", function() {
expect($$('.select_me').length).to(equal, 2);
});
});
});
Это единственный тест, использующий тест синтаксиса, подобный rspec, в котором есть пара элементов. Надеюсь, это поможет!
но многие из них увязли в техническом дуду, о котором вы не заботитесь, поэтому вы должны быть избирательными.И, наконец, вот пример из синего гребня , который представляет собой набор вытащенных инструментов вместе для тестирования вне браузера (и ручного тестирования в браузере) для Rails:
Screw.Unit(function() {
describe("Your application javascript", function() {
it("accesses the DOM from fixtures/application.html", function() {
expect($$('.select_me').length).to(equal, 2);
});
});
});
Это единственный тест, использующий тест синтаксиса, подобный rspec, в котором есть пара элементов. Надеюсь, это поможет!
Проверьте jsTestDriver. Я думаю, что это один из лучших:
Цель JsTestDriver - создать Средство выполнения тестов JavaScript, которое:
легко интегрируется с непрерывным строит системы и позволяет запускать быстро тестирует несколько браузеров, чтобы облегчить разработку стиля TDD.
Вы можете рассмотреть возможность использования шаблона презентатора для вашего JavaScript и просто использования простых модульных тестов. В блоге Google Testing есть неплохие ресурсы.
Я бы начал здесь:
http://googletesting.blogspot.com/2009/02/with-all-sport-drug-scandals-of-late.html
Я сделал это в проектах Flex (ActionScript) для всего моего кода пользовательского интерфейса и обнаружил, что он работает очень хорошо. Вы хотите изолировать свою функциональность, чтобы избежать тестирования вещей, которые уже были тщательно протестированы поставщиками браузеров.
Я слышал о Селен иногда. Я никогда им не пользовался, но, возможно, он вам поможет.
Selenium Remote Control (RC) управляет вашим тесты в нескольких браузерах и платформы. Настройте свои тесты в своем предпочтительный язык.
Я также нашел статью в блоге: Модульное тестирование в JavaScript , в которой упоминается следующее: Ищу лучший инструмент для модульного тестирования JavaScript .