Hillel Wayne - Beyond Unit Tests: Taking Your Testing to the Next Level - PyCon 2018

Поделиться
HTML-код
  • Опубликовано: 28 авг 2024

Комментарии • 25

  • @bernoulli9047
    @bernoulli9047 2 года назад +2

    There were a few gems here that I want to commit to memory. Will be rewatching this one.

  • @CppExpedition
    @CppExpedition 3 года назад +1

    This is brutally impressive, thank you so much!

  • @mishasawangwan6652
    @mishasawangwan6652 4 года назад +2

    6:42 lol ..’huge negative numbers’ ...g1. made me chuckle a lil’.

  • @StankyPickle1
    @StankyPickle1 6 лет назад +1

    This is cool!

  • @RandomAlexus
    @RandomAlexus 3 года назад

    I got to the part where he brought granola bars and just had to like the video on principle.

  • @Sousleek
    @Sousleek 6 лет назад

    I've benn interested by contract programming paradim a year ago. Now i'm interested again :)

  • @magno5157
    @magno5157 5 лет назад +8

    Didn't realize programming by contracts was still unknown to a large number of programmers. I thought they were already pretty standard.

    • @cypix314123
      @cypix314123 5 лет назад +2

      Well now that C++20 will get them as language feature, few more will now.

    • @magno5157
      @magno5157 5 лет назад +1

      cypix314123 That’s interesting and puzzling. How are they going to implement it? Seems to me there will be lots of extra new syntax, which would make contracts much, much less readable than just regular comments.

    • @cypix314123
      @cypix314123 5 лет назад +2

      @@magno5157 I don't really know. I think they will use the C++ attribute syntax. I stop working with C++ at C++14 and I heard that about contracts on C++ podcast.
      I found this www.modernescpp.com/index.php/c-core-guidelines-a-detour-to-contracts
      int push(queue& q, int val)
      [[ expects: !q.full() ]]
      [[ ensures !q.empty() ]]{
      ...
      [[assert: q.is_ok() ]]
      ...
      }

    • @MrMartingale1
      @MrMartingale1 4 года назад +2

      @@cypix314123 wow C++ is becoming even more pathetic soup of punctuation marks

  • @10e999
    @10e999 6 лет назад +1

    Great talk.

  • @acobster
    @acobster 4 года назад

    Why "especially" Python? I'd be interested to hear more about that.

    • @l_combo
      @l_combo 4 года назад

      The talk was at PyCon (Python Conference), there isn't anything specific that makes this constrained to Python.

    • @sadhlife
      @sadhlife 3 года назад +1

      it's because how easily hackable and dynamic python is, you can even do things like modify the AST of a function at runtime, or pull the stack frame out and inspect it at runtime, which makes it possible to write some wacky contracts that's basically impossible in many other languages

  • @japrogramer
    @japrogramer 6 лет назад +1

    where did he import @ensure from?

    • @user-he9vy8ie1g
      @user-he9vy8ie1g 5 лет назад

      from contracts

    • @l_combo
      @l_combo 4 года назад +1

      The module is: pypi.org/project/dpcontracts/
      Git Repo: github.com/deadpixi/contracts

  • @ruixue6955
    @ruixue6955 3 года назад

    2:57 beyond unit tests

  • @damickillah
    @damickillah 4 года назад

    "...better than any testing framework out there...any language..." Ok. Hypothesis is almost an exact clone of quickcheck for haskell. So, dude, nah.

    • @CripplingDuality
      @CripplingDuality 4 года назад +3

      He did say 'one of the best', to be fair, and considering the limitations of Python when compared to Haskell, that's a significant achievement.

  • @MH-oc4de
    @MH-oc4de 2 года назад +1

    Yawn. Yet another talk with contrived examples designed to justify the existence of non-necessary packages that are not worth the tiny benefit they provide.