[HN Gopher] Pytest for Neovim
       ___________________________________________________________________
        
       Pytest for Neovim
        
       Author : richardhapb
       Score  : 67 points
       Date   : 2025-04-05 06:08 UTC (16 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | meitham wrote:
       | Very nice! Congrats on your release!
        
         | richardhapb wrote:
         | Thanks!!
        
       | eterps wrote:
       | Nice. Might be good to add to the README what you intend to
       | improve on: https://github.com/nvim-neotest/neotest?tab=readme-
       | ov-file
        
         | richardhapb wrote:
         | Yeah! I will. Thanks!
        
       | ohduran wrote:
       | This is so helpful, congrats!
        
         | richardhapb wrote:
         | Thanks!
        
       | nickjj wrote:
       | What happens if your test produces a bunch of stdout, such as
       | using `print(...)` somewhere? Where would it be displayed?
       | 
       | A couple of questions about Docker based on the README:
       | 
       | > enabled = true, -- Enable docker support
       | 
       | What does this do in the end? Is it starting containers or
       | adjusting which test command gets run by prefixing a Docker
       | command?
       | 
       | If so is there a way to opt out of that to have it still use
       | Docker commands without it managing container lifecycles?
       | 
       | > docker_path = '/usr/src/app', -- This is the default path, if
       | you use docker compose this is obtained from the docker compose
       | file
       | 
       | How is this being read from that file? Are you reading a volume?
       | 
       | Is this meant to be what the WORKDIR is set to?
       | 
       | > docker_path_prefix = 'app', -- This is the prefix for the path
       | in the cwd in your local, for example:
       | root/app/<docker_app_content>
       | 
       | Is this meant to be what the WORKDIR is set to or what the
       | COMPOSE_PROJECT would be set to?
       | 
       | > container = 'app-1', -- Container where the tests will be run
       | 
       | Will this be ignored in favor of the compose service name if
       | compose is set to true?
       | 
       | > docker_compose_file = 'docker-compose.yml', -- This is the
       | default docker compose file name
       | 
       | The default name has been compose.yaml for a long time now btw,
       | you may want to support both out of the box.
       | 
       | > enable_docker_compose = true, -- Enable docker compose support
       | 
       | What does this do vs not having it enabled?
        
         | richardhapb wrote:
         | Thanks for the feedback! I'll update the README to clarify
         | these points.
         | 
         | You can view the full Pytest output using the :PytestOutput
         | command. This shows all outputs from failing tests (since
         | Pytest doesn't display output for passing tests by default). I
         | also plan to implement support for custom arguments -- for
         | example, Pytest's -s flag to show stdout even when tests pass.
         | 
         | If Docker is disabled, all Docker-related features are also
         | disabled. When Docker Compose is enabled, its configuration
         | takes precedence over the plugin's direct settings.
         | 
         | The prefix_app setting maps your local directory to the Docker
         | path. For example, if your current working directory is
         | ~/projects/, and the prefix is app, the Docker path
         | /usr/src/app will map to ~/projects/app.
         | 
         | Docker is responsible only for path mapping and executing the
         | Pytest command inside a running container -- the container must
         | already be running.
         | 
         | If you're using Docker Compose, the plugin retrieves the Docker
         | path from the volume configuration. For example, if your
         | docker-compose.yml contains:
         | 
         | volumes: - app:/usr/src/app
         | 
         | Then /usr/src/app will be used as the Docker path. If
         | enable_docker_compose is set to false, the plugin will fall
         | back to the manually configured path instead. (Note: the
         | container itself is not retrieved from Docker Compose at this
         | point.)
        
       | semiinfinitely wrote:
       | neovim is dead to me and yet I still spend ~hours a week
       | configuring my editor to behave the way I want. whats wrong with
       | me send help
        
         | andrewl wrote:
         | I get the problem with spending too much time configuring
         | things like Vim or Tmux. But I'm just getting started with
         | NeoVim today to see if I want to go with it full time and get
         | off of Vim.
         | 
         | Why is NeoVim dead to you?
        
           | freedomben wrote:
           | I switched from Vim to NeoVim about a year ago and have been
           | quite pleased. Other than having to `alias vim='nvim'` due to
           | unconquerable muscle memory, I haven't really noticed any
           | change other than having a lot more plugin options
        
         | richardhapb wrote:
         | It's a Neovim issue haha, but is fun and powerful do it!
        
       | Jackevansevo wrote:
       | For the longest time I've been using vims built-in `compiler`
       | feature with tartansandal/vim-compiler-pytest combined tpope/vim-
       | dispatch
        
         | ryan-duve wrote:
         | Could you share an example of a workflow using the built in
         | feature to run tests in Vim?
        
           | Jackevansevo wrote:
           | Sure, here's a recorded example:
           | https://www.youtube.com/watch?v=TUeousvp4PQ
        
         | richardhapb wrote:
         | Interesting approach! Can you share more about this?
        
           | Jackevansevo wrote:
           | Rather than write something up or linking to a bunch of
           | articles I recorded a quick screen capture:
           | https://www.youtube.com/watch?v=TUeousvp4PQ
        
       | nickandbro wrote:
       | Very cool integration of neovim with pytest! I also am using
       | neovim with python integration for my hobby project, vimgolf.ai ,
       | where I try to teach vim motions to those who haven't used vim.
       | Only two levels so far, but hoping to increase that count in the
       | near future.
        
         | richardhapb wrote:
         | Thanks! Really cool idea! I'm happy to help if you need -- just
         | share the link whenever you're ready!
        
       ___________________________________________________________________
       (page generated 2025-04-05 23:01 UTC)