在我当前的设置中,我只有一个构造函数(并且希望保持这种方式)用于我的域对象。说我的课看起来像这样:
class Person: FIRDataObject //my custom class
let name: String
let age: Int
required init (snapshot: FIRDataSnapshot) {
self.name = snapshot.json["name"].string
self.age = snapshot.json["age"].int
}
..现在我想测试我的班级。但我找不到任何方法来从我的测试中实现新的FIRDataSnapshot。 F.ex我想要像
这样的东西class PersonTest: XCTest
test_create_person() {
let snapshot = FIRDataSnapshot("{name: "Kim", "age", 33}") <-- I want something like this
let person = Person(snapshot: snapshot)
XCTAssertEqual(...)
}
有人想出怎么做?
答案 0 :(得分:0)
我通过子类化FIRDataSnapshot找到了一种方法(使用SwiftyJson,但那是可选的)。如果你找到更好的一个,请告诉我:
var number;
var maxNumber = 5;
var usedNumbers = [];
function getUnusedRandomNumber(){
// keep generating a random number, until you find one that has not been used
do{
var randomNumber = getRandomNumber();
}
while(usedNumbers.indexOf(randomNumber) != -1);
// store used numbers into array
usedNumbers.push(randomNumber);
return randomNumber;
}
function getRandomNumber() {
var randomNumber = Math.round(Math.floor((Math.random() * maxNumber) + 1));
return randomNumber;
}
alert(getUnusedRandomNumber());
alert(getUnusedRandomNumber());
alert(getUnusedRandomNumber());
alert(getUnusedRandomNumber());
alert(getUnusedRandomNumber());