1. The document discusses methods for creating voice-enabled clients using Alexa, Lex, and Polly services on iPhone.
2. It begins with introductions and an agenda, then covers the basics of each service including architectures, endpoints, interfaces, registration, and authorization processes.
3. The document also provides examples of implementing voice clients using the AWS mobile SDK for iOS for Lex, and discusses using session attributes with Lex.
31. 基本型
変数名を統一することが重要、テスト対象はSystemUnderTest
@Test
public void funcで初期化した数値が返る() throws Exception {
//setUp
MyClass sut = new MyClass(123);
int expected = 123;
//exercise
int actual = sut.func();
//verify
assertThat(actual, is(expected));
//TearDown
} Java(Junit)
32. 基本型
定型コメントで意図を明確にし、パターン外の特異事項のみコメントする
[Test]
public void funcで初期化した数値が返る (){
//setUp
var sut = new MyClass(123);
var expected = 123;
//exercise
var actual = sut.Func();
//verify
Assert.That(actual, Is.EqualTo(expected));
//TearDown
} C#(NUnit)
35. テストを読むのがつらくなる
基本型が無いと、毎回詳しく読まなければならなくなる
×
[Test]
public void Test1(){
var num = 123;
Assert.That(new MyClass(num).Func(), Is.EqualTo(num));
}
[Test]
public void Test2(){
var num = 123;
var myClass = new MyClass(num);
Assert.Equals(myClass.Func(), num);
copyright? 2011/03.. by SAPPOROWORKS
}
36. 顿搁驰原则は适用しない
あくまで基本型にこだわる
×
[Test]
public void Test1(){
var num = 123;
Confirm(new MyClass(num), num);
}
[Test]
public void Test2() {
Confirm(new MyClass(567), 567);
}
private void Confirm(MyClass myClass, int num){
Assert.Equals(num,myClass.Func());
copyright? 2011/03.. by SAPPOROWORKS
}
37. 顿搁驰原则は定型以外に适用する
あくまで基本型にこだわる
〇
[Test]
public void Test1(){
//setUp
initialize();
var sut = new MyClass(CreateParamater(1,true,”TEST”));
var expected = 123;
//exercise
var actual = sut.Func();
//verify
Assert.That(actual, Is.EqualTo(expected));
} copyright? 2011/03.. by SAPPOROWORKS
39. 1つのメソッドで1つのテストが原则(1)
いろいろ試験したい気持ちは分かるが????
×
[Test]
public void myClassの動作確認(){
var sut = new MyClass(123);
Assert.That(sut.Func(), Is.EqualTo(123));
sut.Add(1);
Assert.That(sut.Func(), Is.EqualTo(124));
sut.Add(2);
Assert.That(sut.Func(), Is.EqualTo(126));
}
copyright? 2011/03.. by SAPPOROWORKS
40. 1つのメソッドで1つのテストが原则(2)
基本型重視の姿勢は、後々幸せを運ぶ
〇
[Test]
public void Addで保持する数字に追加される() {
//setUp
var sut = new MyClass(0);
var expected = 100;
//exercise
sut.Add(100);
var actual = sut.Func();
//verify
Assert.That(actual, Is.EqualTo(expected));
}
※このテストはAdd()のテストである
41. 1つのメソッドでテスト対象は1つ
いろいろ試験したい気持ちは分かるが????
×
[Test]
public void myClassの動作確認(){
var myClass1 = new MyClass(123);
Assert.That(myClass1 .Func(), Is.EqualTo(123));
var myClass2 = new MyClass(456);
Assert.That(myClass2 .Func(), Is.EqualTo(456));
var myClass3 = new MyClass(789);
Assert.That(myClass3 .Func(), Is.EqualTo(789));
}
copyright? 2011/03.. by SAPPOROWORKS