如何在QUnit中对子功能进行单元测试?

时间:2017-10-03 15:59:14

标签: javascript unit-testing sapui5 qunit

我的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代码。

0 个答案:

没有答案