Проверьте функцию с шуткой - PullRequest
       8

Проверьте функцию с шуткой

0 голосов
/ 02 сентября 2018

Как я могу протестировать функцию, подобную приведенной ниже, используя jest?

lightboxUrl: function () {
    var componentId = this.options.componentId
    if (componentId) {
      var album = this.model.get('album')

      var shortcut = this.model.get('shortcut')
      return '/lightbox/' + componentId + '/' + album + '/' + shortcut
    }
  }

Новое в тестировании JavaScript. Любая помощь с благодарностью. Дайте мне знать, если вам нужно что-нибудь еще.

1 Ответ

0 голосов
/ 02 сентября 2018

Я просто предположил и заглушил некоторые из не предоставленных деталей.

Вот элемент лайтбокса

export default function lightboxParent(componentId) {
 return {
  options: {
   componentId,
  },
  model: {
   get: id => (id === "album" ? "album" : "shortcut"),
  },
  lightboxUrl: function() {
   var componentId = this.options.componentId;
   if (componentId) {
    var album = this.model.get("album");

    var shortcut = this.model.get("shortcut");
    return "/lightbox/" + componentId + "/" + album + "/" + shortcut;
   }
  }
 }
}

Вот шутник

describe("lightbox url", () => {
  it("should be valid url", () => {
    expect(lightboxParent(1).lightboxUrl()).toBe(
      "/lightbox/1/album/shortcut"
    );
  });
  it("should not resolve valid url, no componentId", () => {
    expect(lightboxParent().lightboxUrl()).toBe(undefined);
  });
});

я использовал для этого коды и поля https://codesandbox.io/s/n4mlqkr4qj

Это базовый тест, просто проверяющий URL, который возвращает метод lightboxUrl, или, если нет componentId, это undefined, так как весь src был предоставлен, и я сделал несколько предположений, я просто оставил его базовым

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...