workflows:
parallel-robot-tests:
jobs:
- build-artifacts:
- test-suit-1:
# Install | |
# via http://askubuntu.com/questions/510056/how-to-install-google-chrome | |
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - | |
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' | |
sudo apt-get update | |
sudo apt-get install google-chrome-stable | |
# Update |
Hoje um colaborador da lista sobre Teste de Software [DFTestes] (http://br.groups.yahoo.com/group/DFTestes/) perguntou em uma thread sobre PhantomJS qual era a difernça entre Smoke Test e Acceptance Test. Ai resolvi responder. Como a lista é somente de acesso aos usuários registrados, estou colocando um resumo, na minha ótica, a diferença entre eles:
Dentro de um contexto ágil nós temos uma separação clara do que é smoke test e o que é teste de aceitação.
-
Smoke Test: conjunto de testes (bem menor do que o conjunto de teste de aceitaçaõ, que vai configurar posteriormente em uma regressão) com o intuito de validar se os pontos maisimportantes da aplicação continuam funcionando após as alterações.
-
Teste de Aceitação: São os testes funcionais que conhecemos. Em um contexto ágil eles são chamados de aceitação ao invés de funcional, pela ótica que adotamos a estes testes, que vão tanto validar a aplicação funcionalmente como validar também da ótica de um usuário (fazer uma venda completa, por exemplo). Este
browser.get "/phones" # navigate to /phones URL | |
input.clear() # clear text input field | |
expect(browser.getTitle()).toMatch 'My Google Photo Gallery' | |
expect(browser.getCurrentUrl()).toMatch "/phones$" | |
# Find by... | |
# -------------- |
http://angular.github.io/protractor/#/api
Note: Most commands return promises, so you only resolve their values through using jasmine expect API or using .then(function()) structure
Based on this post: https://spagettikoodi.wordpress.com/2015/01/14/angular-testing-cheat-sheet/ by @crystoll
browser.get('yoururl'); // Load address, can also use '#yourpage'
by.model
<input type="text" ng-model="yourName">
// by.model('yourName')
by.binding
define(['can', 'localCache'], function(can, localCache) { | |
'use strict'; | |
describe('storeLocal()', function() { | |
var sandbox; | |
beforeEach(function() { | |
// create sandbox environment for mocking about | |
sandbox = sinon.sandbox.create(); | |
}); |
var sinon = require('sinon'), | |
Widget = require('../../widget'); | |
describe('My widget', function () { | |
var sandbox; | |
beforeEach(function () { | |
// Create a sandbox for the test | |
sandbox = sinon.sandbox.create(); | |
}); |