Не функция при перемещении в другой файл

1

У меня есть эта функция coffeescript:

_skip_version = (currentVersion, skippedVersions) ->
  if (currentVersion.indexOf(skippedVersions) == -1)
    return false
  return true

В настоящее время он находится в моем файле archive.spec.coffee и работает так:

if (_skip_version(config.version, version))
    this.skip 'Skipping test - Not supported on this version'

Теперь я хочу, чтобы другие файлы использовали _skip_version так что archive.spec.coffee похоже, больше не является местом для его хранения. Я хотел бы перенести это на helpers.coffee. Я скопировал эту функцию в новый файл и добавил значение helpers = require('./helpers') в archive.spec.coffee. Теперь я пытаюсь назвать это так:

if (helpers._skip_version(s3.config.clevOsVersion, version))
  this.skip 'Skipping test - Not supported on this version'

Выдает эту ошибку:

TypeError: helpers._skip_version is not a function

Что я сделал не так?

Вот мой файл hooks.coffee:

AWS = null
global = null

if typeof window == 'undefined'
   AWS = require 'aws-sdk'
   global = GLOBAL
else
   AWS = window.AWS
   global = window

if global.jasmine
   global.jasmine.DEFAULT_TIMEOUT_INTERVAL = 30000

require('util').print = (data) ->
   process.stdout.write(data)

global.expect = require('chai').expect

matchXML = (xml1, xml2) ->
   results = []
   parser = new (require('xml2js').Parser)()
   [xml1, xml2].forEach (xml) ->
      parser.parseString xml, (e, r) ->
         if e then throw e
         results.push(r)
   expect(results[0]).to.eql(results[1])

getUniqueName = ->
  'aws-' + Date.now()

_skip_version = (currentVersion, skippedVersions) ->
   if (currentVersion.indexOf(skippedVersions) == -1)
     return false
   return true

module.exports =
   AWS: AWS
   util: AWS.util
   getUniqueName: getUniqueName
   matchXML: matchXML
  • 0
    Пожалуйста, поделитесь кодом файла helpers.coffee
  • 1
    Может быть, вы забыли экспортировать его из вашего помощника.
Показать ещё 2 комментария
Теги:
mocha
coffeescript
typeerror

1 ответ

1
Лучший ответ

Вы не экспортируете

+ Изменить

module.exports =
 AWS: AWS
 util: AWS.util
 getUniqueName: getUniqueName
 matchXML: matchXML

к

module.exports =
  AWS: AWS
  util: AWS.util
  getUniqueName: getUniqueName
  matchXML: matchXML
  _skip_version: _skip_version

Ещё вопросы

Сообщество Overcoder
Наверх
Меню