我的SAPUI5应用程序中有以下代码。
单击按钮时会触发此功能。
row.names(Traits) <- Traits$species # ASSIGNING ROW NAMES TO SPECIES
Traits <- Traits[-1] # REMOVING FIRST COLUMN
# CONVERT COLUMNS TO NUMERIC
Traits[, c(1:ncol(Traits))] <- sapply(Traits[, c(1:ncol(Traits))], as.numeric)
AbundVec <- as.vector(as.numeric(AbundMat))
N.rows <- NROW(AbundMat)
N.vars <- NCOL(AbundMat)
SppVec <- rep(row.names(Traits), each=N.rows)
TraitVec <- Traits[rep(1:N.vars, each=N.rows),]
SiteVec <- rep(row.names(AbundMat), N.vars)
Treatment = as.factor(Treatment$site) # SELECT SPECIFIC COLUMN
levels(Treatment) <- c("A", "B", "C")
TrV <- rep(Treatment, N.vars)
FtP <- manyglm(AbundVec ~ as.matrix(TraitVec)*TrV, family = "poisson")
在我的单元测试中我有
onClear(oEvent){
var source = oEvent.getSource().getText(); //get the text on the button
....
}
我得到的错误是QUnit.module('onClear functio test);
Qunit.test('onClear press test', function(assert){
var getSource = sinon.spy();
var getText = sinon.spy();
var oEvent = {getSsource: getSource};
var source = "Clear"; //this is what should be return for this test
//call the function
mainController.onClear(oEvent, source);
}
从SAP API,"Unable to get property 'getText' of undefined or null reference"
只返回对触发事件的对象的引用,在本例中为按钮。在测试期间,oEvent.getSource()
不会返回任何我认为的内容。
那怎么能让这个工作呢?我知道我可以将我的代码分解为两个不同的行并分别监视/存储这两个函数但我不想这样做,因为我的代码是有效的JavaScript代码。