r - pacote data.table e testthat

Estou construindo um pacote que funciona com data.table e que deve ser testado usando o pacote testthat. Enquanto o código funciona bem ao chamar da linha de comando, eu encontro problemas ao chamar de um caso de teste. Parece que a função [] do pacote base, ou seja, a função para data.frames é usada ao executar os testes.

Eu criei um exemplo mínimo que pode ser encontrado aqui:https://github.com/utalo/test_datatable_testthat

O pacote contém uma única função:

test <- function() {
   dt <- data.table(MESSAGE="Test 1234567890",TYPE="ERROR")
   dt[,.(MESSAGE=strwrap(MESSAGE,width = 10)),by=.(TYPE)]
}

Ao ligartest.datatable.testthat:::test() da linha de comando, obtenho o resultado esperado:

    TYPE    MESSAGE
 1: ERROR       Test
 2: ERROR 1234567890

No entanto, ao executar o seguinte teste de unidade:

test_that("Test package",{
  dt <- test()

  expected_res <- structure(list(TYPE = c("ERROR", "ERROR"),
                             MESSAGE = c("Test","1234567890")),
                        row.names = c(NA, -2L), class = c("data.table","data.frame"),
                        .Names = c("TYPE", "MESSAGE"))

  expect_equal(dt,expected_res)
})

Eu recebo um erro:

1
1. Error: Test package -------------------------------------------------------------------------------------------------------
could not find function "."
1: withCallingHandlers(eval(code, new_test_environment), error = capture_calls, message = function(c) invokeRestart("muffleMessage"))
2: eval(code, new_test_environment)
3: eval(expr, envir, enclos)
4: test() at test.R:4
5: dt[, .(MESSAGE = strwrap(MESSAGE, width = 10)), by = .(TYPE)] at test.datatable.testthat/R/hello.R:5
6: `[.data.table`(dt, , .(MESSAGE = strwrap(MESSAGE, width = 10)), by = .(TYPE)) at C:\Users\D057806\Documents\R\test.datatable.testthat/R/hello.R:5
7: `[.data.frame`(x, i, j)

Como você pode ver, dentro do teste, o [] de data.frame é chamado. Meu primeiro palpite foi que a dependência do pacote data.table não foi declarada corretamente. Este é o meu arquivo DESCRIPTION:

Package: test.datatable.testthat
Type: Package
Title: What the Package Does (Title Case)
Version: 0.1
Date: 2016-04-07
Authors@R: person("First", "Last", email = "[email protected]", role = c("aut", "cre"))
Description: More about what it does (maybe more than one line)
License: What license is it under?
LazyData: TRUE
Depends:
    data.table
Suggests:
     testthat
RoxygenNote: 5.0.1

De acordo comUsando o pacote data.table dentro do meu próprio pacote deve ser suficiente declarar data.table como um pacote dependente. No entanto, este não parece ser o caso aqui.

Alguma pista sobre por que minha função está funcionando quando é chamada diretamente, mas não no contexto do teste?

questionAnswers(1)

yourAnswerToTheQuestion